自從上級公司離職后,快一年的時間沒有寫php程序和搭建LNMP環境,一直在做db運維和運維工具開發方面的事情。
最近決定開發開發一些自動話方面工具,重新拾起php,于是在測試機上搭建一個LNMP環境。
1、 nginx 404錯誤
一般的出現404錯誤,找不到頁面資源。首先用strace排除了存在文件訪問權限的問題,其次nginx的root參數設置也沒有任何問題。
在配置好nginx和vhost之后,發現一直出現404錯誤和提示“File Not found”.
2015/02/05 15:28:56 [error] 15627#0: *14 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"
請教了一下同事斌哥,他用tcpdump抓包發現問題, 發現SCRIPT_FILENAME參數多出了一個script.
# 錯誤的配置 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # 正確的配置 fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
通過tcpdump抓取php-fpm的9000端口的接受到的請求。
2、tcdump分析http報文頭部數據
tcpdump -Xx -i any -nn port 9000
從下面的數據發現,資源路徑多出了一個scripts。
原創文章,作者:s19930811,如若轉載,請注明出處:http://www.www58058.com/2463