nginx.conf里會有兩個日志,分為access.log 和 error.log。個中這兩個日志可以細化,一般來說在nginx目次下會有一個logs會生存,然后也可以在對應的server目次里可以別離的設定access.log和error.log來相識對應server的環境。
access.log主要是記錄"誰來登岸了,從那邊登岸的,登岸后產生了什么",詳細名目可以在nginx.conf里設定。
error.log主要記錄的是查抄nginx.conf里發明的錯誤,好比:
“2016/05/03 10:20:51 [emerg] 20952#0: unexpected "}" in /usr/local/nginx/conf/nginx.conf:87”
這句話就說明在nginx.conf的87行里有一個 } 是錯誤的,這個錯誤的級別是emergency;
2016/05/03 10:23:01 [emerg] 21023#0: "root" directive is duplicate in /usr/local/nginx/conf/nginx.conf:86
這句話就是說明在nginx.conf的第86行里root設定反復了,級別同樣是emergency。以上兩個都是書寫的問題,很好更正;
2016/05/03 10:23:31 [notice] 21045#0: signal process started
這個意思是nginx已經在運行的狀態下,被執行啟動,這個不算致命錯誤;
nginx: [alert] could not open error log file: open()"/usr/local/nginx/logs/error.log" failed (13:Permissiondenied)
這個是說當前用戶沒有權限寫入error.log的日志,辦理要領要來權限就行了;
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
nginx提示無法找到nginx.pid這個文件了,directadmin安裝 directadmin漢化,利用#/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf,從頭啟動一下,就自動生成pid文件了。
下面說幾個有非凡代表性的錯誤:
1)worker process 某某某 exited on signal 11 (core dumped)
這種錯誤根基就是刷error.log的屏,嚴重的甚至直接讓nginx崩掉。詳細表示在用戶端就是“視頻打不開,網頁打不開等等等”。
這種錯誤一般是暗示用戶措施nginx舉辦讀操縱時會見的地點無效,詳細一點就是搜索引擎的蜘蛛在爬取到加密部門時,得不到正確的路徑,又沒有被定位到錯誤頁導致的。
如何修改,在nginx.conf里的防盜鏈部門查抄一下“secure_download_fail_location;” ,即“請求錯誤時,定向到錯誤頁”的模塊,確認location是否認向到一個正確地點為錯誤頁面。
2)nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx先監聽了ipv4的80端口之后又監聽了ipv6的80端口,于是就反復占用了。
把nginx.conf里的:
listen 80;
listen [::]:80 default_server;
改成
listen 80;
listen [::]:80 ipv6only=on default_server;