如何从另一台PC访问第二个laravel应用程序

时间:2016-04-16 13:08:50

标签: php laravel

在此链接上: how can i access my laravel app from another pc?

完美地描述了如何从同一网络上的另一台PC访问laravel应用程序。 现在,我的问题是:

如何访问在同一台电脑上投放的其他应用?

我有一台虚拟机,提供两个应用app.dev和demo.dev 两者都可以通过互联网浏览器在VM内访问

可以通过http://localhosthttp://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 ????
但是怎么样?有人帮忙吗?

1 个答案:

答案 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做这些:

  

Creating an Apache VirtualHost

     

Creating a Nginx VirtualHost