![](/img/trans.png)
[英]Failed to start high performance web server and reverse proxy server nginx
[英]Nginx: Failed to start A high performance web server and a reverse proxy server
我嘗試啟動此服務,但我不能,出現以下錯誤:
root@zabbix:/home/appliance# systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2018-07-25 18:33:26 UTC; 1min 27s ago
Process: 30040 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Process: 30037 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Jul 25 18:33:25 zabbix nginx[30040]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:25 zabbix nginx[30040]: nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:25 zabbix nginx[30040]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:26 zabbix nginx[30040]: nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:26 zabbix nginx[30040]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:26 zabbix nginx[30040]: nginx: [emerg] still could not bind()
Jul 25 18:33:26 zabbix systemd[1]: nginx.service: Control process exited, code=exited status=1
Jul 25 18:33:26 zabbix systemd[1]: *******Failed to start A high performance web server*** and a reverse proxy server.****
Jul 25 18:33:26 zabbix systemd[1]: nginx.service: Unit entered failed state.
Jul 25 18:33:26 zabbix systemd[1]: nginx.service: Failed with result 'exit-code'.
我想知道為什么沒有人提到禁用apache2
sudo service apache2 stop
您已經有一個綁定到HTTP 端口 80的進程。
您可以運行命令sudo lsof -i:80
以獲取使用該端口的進程列表,然后停止/禁用Web 服務器。
嘗試停止使用端口 80 的進程: sudo fuser -k 80/tcp
對我來說,此錯誤是由端口 80 上的default
nginx 站點引起的。刪除默認站點有效
sudo rm /etc/nginx/sites-enabled/default
sudo service nginx restart
您已經有一個綁定到 HTTP 端口 80 的進程。您可以運行命令sudo lsof -i:80
以獲取使用該端口的進程列表,然后停止/禁用 Web 服務器。
嘗試停止使用端口 80 的進程:
sudo fuser -k 80/tcp
可能是配置文件有問題。 您可以使用此nginx -t -c /etc/nginx/nginx.conf
命令來查找配置文件中的任何錯誤。 如果您發現錯誤已解決,則再次運行sudo service nginx restart
。 它會起作用。
嘗試停止使用端口 80 的進程:
sudo fuser -k 80/tcp
當你重新啟動使用
sudo systemctl restart nginx
根據我的經驗,此錯誤可能會在多種不同情況下觸發(可能具有相同的根,但被視為不同的情況)。
根據您的 nginx 配置,您還應該嘗試端口 443:
sudo lsof -i:80
sudo lsof -i:443
您應該能夠在/etc/nginx/sites-enabled
(在 Debian 下)中檢查您的 nginx 監聽端口
就我而言,有一個 nginx 實例正在運行,它會阻止自己重新啟動。 它不會因sudo systemctl stop nginx
而失敗。 我不得不使用sudo killall nginx
然后可以使用sudo systemctl start nginx
。
我還遇到了關於配置錯誤的完全相同的錯誤消息。
您可以使用/usr/sbin/nginx -c /etc/nginx/nginx.conf@ (this will also test all virtual host files (
檢查您的 nginx 配置/usr/sbin/nginx -c /etc/nginx/nginx.conf@ (this will also test all virtual host files (
/etc/nginx/sites-enabled`)
我有同樣的問題,是因為我在同一台服務器上有 apache 和 nginx! 所以當我輸入 sudo reboot 時它不起作用,因為它在使用 nginx 時啟動了 apache,所以我只運行這兩個命令
sudo systemctl 停止 apache2 然后 sudo systemctl 啟動 nginx
然后 sudo systemctl 禁用 apache2 所以下次我重新啟動時不會遇到同樣的問題
aws 服務支持的幫助
我不得不使用:
sudo killall nginx
然后可以使用;
sudo systemctl start nginx
對我來說,停止 apache 服務解決了問題sudo service apache2 stop
我也有這個問題。 我檢查了/etc/nginx/site-available/default
文件,但忘記關閉括號(語法錯誤)。
我在 nginx 中使用 gunicorn,發現服務未激活。
sudo systemctl enable gunicorn.socket
sudo systemctl start gunicorn.socket
sudo systemctl restart nginx
為我工作。
如果您的 gunicorn 處於活動狀態,請確保它工作正常。
您還可以通過nginx logs
查看錯誤的 RCA
sudo tail -f /var/log/nginx/error.log
J AI EU LE MEME 問題 MAIS ESSAYER D'UTILISER : SUDO SYSTEMECTL 停止 NGINX SUDO SYSTEMECTL START NGINX AU LIEU DE : SUDO SYSTEMCTL 重新加載 NGINX
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.