在此链接上:如何从另一台电脑访问我的laravel应用程序?
它完美地描述了如何从同一网络上的另一台电脑访问laravel应用程序。现在,我的问题是:
如何访问同一台电脑上提供的另一个应用程序?
我有一个虚拟机,提供两个应用程序app.dev和demo.dev两者都可以通过互联网浏览器在虚拟机内部访问
app.dev可在上访问http://localhost和http://app.devdemo.dev只能在上访问http://demo.dev
在IP地址192.168.0.60 上可以访问仅限VM的外部app.dev
我在VM 中使用过这个命令
sudo php artisan serve --host 192.168.0.60 --port 80
我应该再次使用吗
sudo php artisan serve ????
但是怎么做呢?有人帮忙吗?
artisan serve
命令使用PHP内置web服务器。因为这不是一个功能齐全的web服务器,所以它没有虚拟主机的概念,所以它只能运行映射到IP和端口对的服务器的一个实例。
通常,要为来自同一IP地址的两台主机提供服务,您需要在VM的/etc/hosts
文件中添加以下映射:
192.168.0.60 app.dev
192.168.0.60 demo.dev
现在您可以通过运行来运行app.dev
php artisan serve --host app.dev --port 80
它将在您的主机上使用http://app.dev.但是,如果您尝试使用以下方法为demo.dev
启动第二个服务器实例:
php artisan serve --host demo.dev --port 80
它不起作用并且会抱怨:
地址已在使用
你可以通过为你的demo.dev
应用程序使用不同的端口来绕过这个问题,例如:
php artisan serve --host demo.dev --port 8080
现在你可以访问http://demo.dev:8080用于主机上的第二个应用程序。
话虽如此,我建议您安装一个功能齐全的web服务器,如Apache或nginx,然后为每个应用程序设置一个虚拟主机(只需确保保留我上面展示的/etc/hosts
文件中的映射)。
对于这两种服务器解决方案来说,设置虚拟主机非常容易。以下是Laravel Recipes网站上的两篇文章的链接,展示了如何专门为Laravel做这件事:
创建Apache VirtualHost
创建Nginx虚拟主机