linux本身會自動記錄系統報錯日志:/var/log/messages
這個日志記錄,我是在什麼時候發現其強大的作用的呢?它有點像我們使用php腳本開發接口的時候技術員在重要地方打日志的效果,友善技術人員排錯,linux本身也有記錄啟動相關服務的報錯日志。
先貼出我nginx的配置看下
server {
listen80;
server_name lisiqiong.ttyun.com;
root/data/wwwroot/lisiqiong/demo;
location/{
index index.php index.html index.htm;
}
location~.php${
fastcgi_pass127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include/usr/local/nginx/conf/fastcgi_params;
}
#access_log/data/wwwlogs/lisiqiong/access.log;
#error_log/data/wwwlogs/lisiqiong/error.log;
}
一般技術員看到這個都會懵掉,因為怎麼看都好像沒有問題,看官方手冊也沒有找到問題所在,但是重新開機nginx服務的時候卻報錯
[[email protected]_wechat vhost]# service nginx restart
Restarting nginx (via systemctl): Jobfor nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" fordetails.
[FAILED]
如果有心人去百度,google檢索這個錯誤你會發現很多錯誤可能都會報這個錯喲!那怎麼弄呢?懵逼了
最後我仔細的檢索發現了牛逼的/var/log/messages這個日志
下面貼錯我通過這個查找問題的所在問題
cat /var/log/messages|grepnginx
Feb16 14:26:35 Dev_wechat nginx: Starting nginx: nginx: [emerg] directive "location" has no opening "{" in /usr/local/nginx/conf/vhost/lisiqiong.ttyun.com.conf:11Feb16 14:26:35Dev_wechat nginx: [FAILED]
Feb16 14:26:35 Dev_wechat systemd: nginx.service: control process exited, code=exited status=1Feb16 14:26:35Dev_wechat systemd: Unit nginx.service entered failed state.
Feb16 14:26:35Dev_wechat systemd: nginx.service failed.
Feb16 14:26:35 Dev_wechat root: [euid=root]:root pts/0 2017-02-16 09:28 (172.168.6.252):[/usr/local/nginx/conf/vhost]2017-02-16 14:26:34 root service nginx restart
仔細檢視日志發現錯誤報在/usr/local/nginx/conf/vhost/lisiqiong.ttyun.com.conf這個配置檔案的11行代碼
我靠在看前面的nginx配置發現11就是這行代碼
location ~ .php${
你會發現nginx配置中{前面是需要空格的,我暈,最後重新開機
service nginx restart
一切ok了,就是這麼簡單,這個日志真的是太有用了,很适合調試服務懵逼時使用