在 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)
此错误消息告诉您,nginx 无法侦听端口 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 绑定