如何在端口80上成功运行Laravel 5.4

时间:2017-08-20 21:51:00

标签: laravel port

我使用Laravel包连接到支付系统,这个特定的包通过端口80发送和接收数据(当我使用端口8000进行支付时,我会遇到故障)。

如下所示:
How to run laravel 5 on port 80 of localhost?

我决定尝试一下,但会返回此错误:
Failed to listen on 127.0.0.1:80 (reason: Permission denied)

要发现哪个程序正在使用端口80,我输入sudo lsof -i :80并收到以下输出:

COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2 3102     root    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3103 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3104 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3105 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3106 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3107 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3108 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3115 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3116 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)
apache2 3117 www-data    4u  IPv6  46970      0t0  TCP *:http (LISTEN)

我也尝试了命令:sudo netstat -nltp | grep -iw "80",以下是它的输出:
tcp6 0 0 :::80 :::* LISTEN 3102/apache2

要释放端口80,我尝试了sudo kill -9 3102,然后我跑了:
sudo netstat -nltp | grep -iw "80"
,输出结果为:
tcp6 0 0 :::80 :::* LISTEN 3330/apache2 (该港口被重新占用)。

我非常想知道如何使用端口80来开发我的Laravel应用程序(我正在使用Debian 9 Stretch)。

1 个答案:

答案 0 :(得分:0)

让我猜一下。我认为你在服务器中运行artisan server。不建议在生产服务器上运行它。 artisan server应仅用于开发环境。

根据您的解释,apache2服务器已使用端口80。这很正常。您需要做的是将Laravel应用程序放到apache DocumentRoot目录中。因为apache2是真正的Web服务器。对于类似Debian的分发,位于DocumentRoot的{​​{1}}为apache2。您可以按照this指南获取更多信息。

希望它有所帮助。