使用Nginx做Web服務(wù)器過程中,碰到過以下幾個(gè)問題:
1、nginx啟動(dòng)失敗
systemctl start nginx.service
啟動(dòng)nginx失敗,報(bào)錯(cuò)信息如下:
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:**** failed (13: Permission denied)
這通常是因?yàn)殚_啟了SELinux的原因,使用命令 getenforce 可以查看SELinux狀態(tài),如果輸出為 enforcing 表示已開啟。用以下方法關(guān)閉:
臨時(shí)關(guān)閉selinux
setenforce 0 ##設(shè)置SELinux 成為permissive模式
setenforce 1 ##設(shè)置SELinux 成為enforcing模式
永久關(guān)閉selinux
修改 /etc/selinux/config 文件
將 SELINUX=enforcing 改為 SELINUX=disabled
重啟機(jī)器即可
2、403 Forbidden 錯(cuò)誤
nginx配置好后,訪問頁(yè)面出現(xiàn) 403 Forbidden 錯(cuò)誤,可以查看錯(cuò)誤日志來(lái)判斷問題原因。在 /etc/nginx/nginx.conf 文件中指定了錯(cuò)誤日志文件名,默認(rèn)是 /var/log/nginx/error.log,使用命令
tail /var/log/nginx/error.log
查看,如果發(fā)現(xiàn)有類似 index.html failed (13: Permission denied) 的信息,通常是nginx用戶權(quán)限和網(wǎng)站目錄文件的用戶權(quán)限不一致的原因(因?yàn)榫W(wǎng)站目錄文件的所屬用戶通常是xxx或root,而nginx的默認(rèn)工作進(jìn)程用戶是nginx,這可以在 /etc/nginx/nginx.conf 中修改),我的解決方法是不修改nginx.conf,而是以root用戶登錄,同時(shí)把網(wǎng)站目錄文件放在 /usr/share/nginx/xxx 下(保證所有文件的所屬用戶都是root),之后重啟nginx,就可以正常訪問了。
到此這篇關(guān)于詳解Nginx啟動(dòng)失敗的幾種錯(cuò)誤處理的文章就介紹到這了,更多相關(guān)Nginx 啟動(dòng)失敗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!