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


How can i access a second laravel app from another pc

在此链接上:如何从另一台电脑访问我的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 ????

但是怎么做呢?有人帮忙吗?

Laravel的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虚拟主机