基礎環境
nginx-1.16.1
CentOS7.5
問題結果過程
現象
使用非root用於運行nginx提示如下錯誤
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
即提示無法綁定80端口。
原因分析
1024以下端口需要root權限方能開啓使用,如果非必要,將nginx監聽端口修改爲1024以上。
解決辦法
- 修改 nginx安裝path/conf/nginx.conf 中的listen端口
注意,所有監聽端口均應保持1024以上 - 第二個解決辦法,切換root用戶運行
- 修改nginx安裝path/sbin/nginx(有些啓動路徑在/usr/local/nginx)權限
如:賦予所有人nginx及子目錄讀寫權限
sudo chmod -R a+rw [nginx安裝path]/sbin/nginx
- 注意: nginx安裝path 需要換成實際的nginx安裝根路徑