在此链接上: how can i access my laravel app from another pc?
完美地描述了如何从同一网络上的另一台PC访问laravel应用程序。 现在,我的问题是:
如何访问在同一台电脑上投放的其他应用?
我有一台虚拟机,提供两个应用app.dev和demo.dev 两者都可以通过互联网浏览器在VM内访问
可以通过http://localhost和http://app.dev访问app.dev demo.dev只能在http://demo.dev
上访问外部VM只能通过IP地址192.168.0.60
访问app.dev我在VM中使用了这个命令
sudo php artisan serve --host 192.168.0.60 --port 80
我应该再次使用
sudo php artisan serve ????
但是怎么样?有人帮忙吗?
答案 0 :(得分:1)
Laravel的artisan serve
命令使用PHP Built-in web server。因为它不是一个功能齐全的Web服务器,所以它没有虚拟主机的概念,所以它只能运行一个映射到IP和端口对的服务器实例。
通常要为您在VM的/etc/hosts
文件中添加的相同IP地址的两台主机提供以下映射:
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做这些: