記一次 Ubuntu 伺服器 Nginx 無法啟動問題

HuDu發表於2021-05-07

問題描述

sudo apt update
sudo apt install nginx

上述步驟安裝完 Nginx 後,直接啟動 Nginx 發現報錯,無法啟動,顯示好像是 80 埠問題,但是透過 sudo lsof -i:80 命令檢視,並沒有程式佔用 80

排查問題

先停止所有和 nginx 相關的程式
sudo killall nginx

透過 sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
nginx: configuration file /etc/nginx/nginx.conf test failed

檢視上面的問題,網上很多都說是 etc/nginx/conf.d 目錄下的 default.conf 配置檔案的問題,但是安裝完之後,並沒有這個配置檔案,於是加了個配置檔案,發現報錯不一樣了,顯示已經存在了重複的配置

nginx -v
nginx version: nginx/1.10.3 (Ubuntu)

這是我安裝的版本

真正的預設的配置檔案在 /etc/nginx/sites-available/default

註釋掉 listen [::]:80 default_server; 即可

其它問題

# 還有其它問題就是伺服器的 80 埠已被其它程式佔用,nginx 啟動是要監聽 80 埠的,一種是檢視佔用 80 埠的服務程式,然後停止,還有就是修改 nginx 監聽的埠

1、停止佔用 80 埠的服務

# 檢視佔用 80 埠的服務
$ netstat -nap | grep 80
# 或者
$ sudo lsof -i tcp:80
# 找到程式,結束
$ kill -9 程式好
# 啟動nginx
$ sudo nginx -c /etc/nginx/nginx.conf

2、修改 nginx 監聽埠

$ vim /etc/nginx/sites-available/default

 listen 自定義埠 default_server;
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章