linux本身會自動記錄系統報錯日志:/var/log/messages
這個日志記錄,我是在什么時候發現其強大的作用的呢?它有點像我們使用php腳本開發接口的時候技術員在重要地方打日志的效果,方便技術人員排錯,linux本身也有記錄啟動相關服務的報錯日志。
先貼出我nginx的配置看下
server { listen 80; server_name lisiqiong.ttyun.com; root /data/wwwroot/lisiqiong/demo; location / { index index.php index.html index.htm; } location ~ .php${ fastcgi_pass 127.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服務的時候卻報錯
[root@Dev_wechat vhost]# service nginx restart Restarting nginx (via systemctl): Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. [FAILED]
如果有心人去百度,google檢索這個錯誤你會發現很多錯誤可能都會報這個錯喲!那怎么弄呢?懵逼了
最后我仔細的檢索發現了牛逼的/var/log/messages這個日志
下面貼錯我通過這個查找問題的所在問題
cat /var/log/messages|grep nginx Feb 16 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:11 Feb 16 14:26:35 Dev_wechat nginx: [FAILED] Feb 16 14:26:35 Dev_wechat systemd: nginx.service: control process exited, code=exited status=1 Feb 16 14:26:35 Dev_wechat systemd: Unit nginx.service entered failed state. Feb 16 14:26:35 Dev_wechat systemd: nginx.service failed. Feb 16 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了,就是這么簡單,這個日志真的是太有用了,很適合調試服務懵逼時使用