在 ubuntu 上为代客安装 nginx

Posted

技术标签:

【中文标题】在 ubuntu 上为代客安装 nginx【英文标题】:install nginx for valet on ubuntu 【发布时间】:2018-10-21 02:58:19 【问题描述】:

我正在尝试在 Ubuntu 17.10 上安装 valet,但我遇到了请求的 nginx 包的问题。它给了我这个错误:

See "systemctl  status nginx.service" and "journalctl  -xe" for details.

invoke-rc.d: initscript nginx,动作“start”失败。

● nginx.service - 高性能 Web 服务器和反向代理服务器 已加载:已加载(/lib/systemd/system/nginx.service;已启用;供应商预设:已启用) 活动:自 2018 年 5 月 10 日星期四 15:42:16 -03 以来失败(结果:退出代码); 32 毫秒前 文档:man:nginx(8) 进程:14383 ExecStart=/usr/sbin/nginx -g daemon on; master_process 开启; (代码=退出,状态=1/失败) 进程:14382 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process 开启; (code=exited, status=0/SUCCESS)

5 月 10 日 15:42:14 hatshep-Lenovo-ideapad-310-14IKB nginx[14383]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 5 月 10 日 15:42:15 hatshep-Lenovo-ideapad-310-14IKB nginx[14383]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 5 月 10 日 15:42:15 hatshep-Lenovo-ideapad-310-14IKB nginx[14383]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 5 月 10 日 15:42:15 hatshep-Lenovo-ideapad-310-14IKB nginx[14383]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 5 月 10 日 15:42:15 hatshep-Lenovo-ideapad-310-14IKB nginx[14383]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 5 月 10 日 15:42:16 hatshep-Lenovo-ideapad-310-14IKB nginx[14383]:nginx:[emerg] 仍然无法绑定() 5 月 10 日 15:42:16 hatshep-Lenovo-ideapad-310-14IKB systemd[1]: nginx.service: 控制进程退出,code=exited status=1 5 月 10 日 15:42:16 hatshep-Lenovo-ideapad-310-14IKB systemd[1]:无法启动高性能 Web 服务器和反向代理服务器。 5 月 10 日 15:42:16 hatshep-Lenovo-ideapad-310-14IKB systemd[1]: nginx.service: 单元进入失败状态。 5 月 10 日 15:42:16 hatshep-Lenovo-ideapad-310-14IKB systemd[1]: nginx.service: 失败,结果为“exit-code”。

【问题讨论】:

您能否发布您正在运行的确切命令是“journalctl -xe”调试命令的结果? 第一次代客安装;我用 sudo apt install nginx 遇到了同样的错误 可以安装,只需要停止apache2!! 是的,这个安装似乎需要先停止一些进程。你检查过类似的教程吗:phusionpassenger.com/library/install/nginx/install/oss/zesty 【参考方案1】:

默认情况下,nginx 配置为监听 80 端口。

nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

此错误消息告诉您,ng​​inx 无法侦听端口 80,因为其他一些程序已经在侦听该端口。这可能是另一个网络服务器,例如 apache。

你可以使用netstat找出哪个程序正在监听80端口

netstat -tulpn | grep ':80'

要启动 nginx,您要么必须停止该程序,要么配置 nginx 以使其 listens 在不同的端口上。

如果其他程序是apache,可以用以下命令停止:

systemctl stop apache2

【讨论】:

【参考方案2】:

我可以安装代客,只是我需要停止 apache2!

【讨论】:

以上是关于在 ubuntu 上为代客安装 nginx的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 上为 WebRTC 安装 TURN 服务器

在 Ubuntu 上为 Ruby on Rails 安装 PostgreSQL

如何在 Ubuntu 18 上为 python 3.7 安装 pip?

在 Ubuntu 上为 libtorrent 安装 Python3 绑定

在 Ubuntu 18.04 上为 python 安装 mysqlclient 时出错

如何在 Ubuntu 20.04 上为 Python 3.9 安装 pip