在架設(shè)Nginx服務(wù)器時(shí),經(jīng)常會(huì)遇到網(wǎng)站無(wú)法打開(kāi)、網(wǎng)站訪問(wèn)4xx/5xx錯(cuò)誤、網(wǎng)站訪問(wèn)403錯(cuò)誤、網(wǎng)站訪問(wèn)卡慢等異常情況,接下來(lái)由南昌網(wǎng)站開(kāi)發(fā)公司開(kāi)發(fā)部王主管為大家分享高效的排查方法,希望對(duì)廣開(kāi)發(fā)者有所幫助。
一、Nginx網(wǎng)站無(wú)法打開(kāi)
1、檢查Nginx是否正常啟動(dòng)
2、登錄服務(wù)器里執(zhí)行命令,查看網(wǎng)站80、443端口是否監(jiān)聽(tīng)啟動(dòng),提作步驟如下:
netstat -nltp |grep -E \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'80|443\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
執(zhí)行命令,查看Nginx進(jìn)程是否運(yùn)行。
ps aux |grep nginx #CentOS/Alinux系統(tǒng)里進(jìn)程名是nginx
啟動(dòng)Nginx服務(wù)
如果Nginx沒(méi)有啟動(dòng),執(zhí)行命令啟動(dòng)Nginx。
systemctl start nginx.service #CentOS/Alinux系統(tǒng)
檢查安全組和防火墻規(guī)則
ECS控制臺(tái)檢查安全組規(guī)則是否放行了80、443端口訪問(wèn)。
登錄ECS管理控制臺(tái)。
在左側(cè)導(dǎo)航欄,單擊“實(shí)例與鏡像” > “實(shí)例”。
在“實(shí)例列表”中找到對(duì)應(yīng)ECS實(shí)例,點(diǎn)擊ECS實(shí)例名稱進(jìn)入到實(shí)例管理頁(yè)面。
在“安全組”選項(xiàng)中,查看入方向安全規(guī)則。
在服務(wù)器里執(zhí)行命令,查看是否設(shè)置iptables 防火墻規(guī)則。
iptables -nL
二、Nginx網(wǎng)站訪問(wèn)4xx/5xx錯(cuò)誤、Nginx網(wǎng)站訪問(wèn)403錯(cuò)誤
1、檢查網(wǎng)站目錄的文件權(quán)限,Nginx是否有權(quán)限讀寫(xiě)網(wǎng)站文件。
站點(diǎn)目錄可以通過(guò)nginx配置文件,查看文件中<location>下的信息,確認(rèn)站點(diǎn)目錄。
cat /etc/nginx/nginx.conf
執(zhí)行命令查看站點(diǎn)目錄/var/www/html/(替換為您查詢到的站點(diǎn)目錄) 的權(quán)限,一般權(quán)限為755。
stat /var/www/html/
執(zhí)行命令,查看站點(diǎn)目錄里邊網(wǎng)站文件的權(quán)限,一般權(quán)限為644。
ls -l /var/www/html/
2. 檢查nginx配置文件,查看站點(diǎn)目錄是否設(shè)置了拒絕訪問(wèn)。
CentOS/Alinux系統(tǒng)默認(rèn)配置文件。
/etc/nginx/conf/httpd.conf
/etc/nginx/vhosts/*.conf
查看配置文件中<location> 部分的配置,是否配置了 Deny *** 拒絕訪問(wèn)。
檢查網(wǎng)站首頁(yè)文件是否存在。
CentOS/Alinux系統(tǒng)中,查看配置文件nginx.conf 中 <location> 配置的index,默認(rèn)首頁(yè)一般為 index.html 或者index.php。
Nginx網(wǎng)站訪問(wèn)404錯(cuò)誤
檢查Nginx配置文件中vhosts部分站點(diǎn)目錄配置是否正確,域名綁定是否正確。
CentOS/Alinux系統(tǒng)默認(rèn)配置文件。
/etc/nginx/conf/httpd.conf
/etc/nginx/vhosts/*.conf
檢查網(wǎng)站目錄中的程序文件是否存在。
配置文件中 root 設(shè)置的站點(diǎn)目錄,檢查相關(guān)目錄中是否存在首頁(yè)文件。
如果使用vhosts配置多個(gè)站點(diǎn),查看vhosts站點(diǎn)對(duì)應(yīng)的 root 站點(diǎn)目錄,檢查相關(guān)目錄中是否存在首頁(yè)文件。
3、Nginx網(wǎng)站訪問(wèn)5xx錯(cuò)誤
查看Nginx的錯(cuò)誤日志,根據(jù)錯(cuò)誤信息分析排查。
執(zhí)行命令查看錯(cuò)誤日志。
less /var/log/nginx/error_log #CentOS/Alinux系統(tǒng)
檢查Nginx配置文件中的是否有rewrite配置,檢查配置是否正確。
檢查網(wǎng)站目錄的權(quán)限是否正常,一般權(quán)限為755。
站點(diǎn)目錄默認(rèn)為/var/www/html/ 。
執(zhí)行命令查看站點(diǎn)目錄/var/www/html/ 的權(quán)限。
stat /var/www/html/
開(kāi)啟php的詳細(xì)錯(cuò)誤日志,查看php程序錯(cuò)誤信息。
修改 php.ini 配置文件,添加如下配置開(kāi)啟詳細(xì)日志輸出。
display_errors = Off
error_reporting = E_ALL | E_STRICT
執(zhí)行命令重啟Nginx,然后訪問(wèn)php頁(yè)面查看錯(cuò)誤。
systemctl restart nginx #CentOS/Alinux系統(tǒng)
常見(jiàn)錯(cuò)誤排查。
Nginx 502可以參考:網(wǎng)站報(bào)“Nginx 502 bad gateway”錯(cuò)誤的解決方法 及 使用Nginx進(jìn)行訪問(wèn)網(wǎng)頁(yè)出現(xiàn)“502”和“connect upstream time out”報(bào)錯(cuò)。
三、Nginx網(wǎng)站訪問(wèn)卡慢排查
1、檢查服務(wù)器性能
主要檢查公網(wǎng)帶寬、cpu使用率,磁盤IOPS性能。
2、查看Nginx錯(cuò)誤日志,是否有錯(cuò)誤信息
執(zhí)行命令查看Nginx錯(cuò)誤日志,操作命令如下:
less /var/log/nginx/error_log #CentOS/Alinux系統(tǒng)
3、檢查確認(rèn)異???yè)面
分別檢查靜態(tài)頁(yè)面,數(shù)據(jù)庫(kù)調(diào)用頁(yè)面,如果是數(shù)據(jù)庫(kù)調(diào)用頁(yè)面卡慢,可以檢查下數(shù)據(jù)庫(kù)是否有慢SQL等數(shù)據(jù)庫(kù)異常情況。如果所有頁(yè)面都卡慢,檢查下主機(jī)負(fù)載情況,如帶寬、cpu、內(nèi)存、磁盤IO等情況。
四、Nginx\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\PHP\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\運(yùn)行異常修復(fù)
1、Nginx服務(wù)運(yùn)行檢查
重啟Nginx服務(wù)。
systemctl restart nginx #CentOS/Alinux系統(tǒng)
查看Nginx錯(cuò)誤日志,根據(jù)錯(cuò)誤日志具體分析。
2、執(zhí)行命令,查看Nginx錯(cuò)誤日志。
less /var/log/nginx/error_log #CentOS/Alinux系統(tǒng)
五、PHP運(yùn)行異常檢查方法
開(kāi)啟php詳細(xì)錯(cuò)誤信息。
修改php.ini 配置文件,添加如下配置開(kāi)啟詳細(xì)日志輸出。
display_errors = Off
error_reporting = E_ALL | E_STRICT
執(zhí)行命令重啟nginx。
systemctl restart nginx #CentOS/Alinux系統(tǒng)
訪問(wèn)php頁(yè)面,根據(jù)詳細(xì)php錯(cuò)誤信息分析排查。
原創(chuàng)文章出自:百恒網(wǎng)絡(luò) 如轉(zhuǎn)載請(qǐng)注明出處!專業(yè),專注于南昌APP開(kāi)發(fā),為用戶提供高品質(zhì)的網(wǎng)絡(luò)產(chǎn)品及優(yōu)質(zhì)服務(wù)是我們始終追求的目標(biāo)!
希望本文對(duì)廣大研發(fā)人員或從事企業(yè)網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大研發(fā)人員和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn)。