【问题标题】:How to run Laravel 5.4 on port 80 successfully如何在 80 端口成功运行 Laravel 5.4
【发布时间】:2018-01-28 22:29:57
【问题描述】:

我正在使用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)。

【问题讨论】:

    标签: laravel port


    【解决方案1】:

    让我猜猜。我认为您正在服务器中运行artisan server。不建议在生产服务器上运行它。 artisan server 只能用于开发环境。

    根据您的解释,apache2 服务器已使用端口 80。这很正常。你需要做的就是把你的 Laravel 应用程序放到 apacheDocumentRoot 目录下。因为apache2 是真正的网络服务器。对于类似 Debian 的发行版,DocumentRoot 用于 apache2,位于 /var/www。您可以关注this 指南了解更多信息。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2015-06-18
      • 2011-08-31
      • 2012-08-22
      • 2015-12-05
      • 2013-09-13
      • 2011-06-16
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多