記錄nginx兩種問題解決 1: recv錯誤 [php] recv() failed (104: Connection reset by peer) while reading client request line 發生這種問題,主要是因為網路問題,在遷移aizher.com 伺服器過程中,碰到這樣的問題,情況比較特殊,也是網路問題,但是不是網上描述本網連接埠衝突的問題。出現這種問題原因是,西部資料的伺服器上需要配置白名單,才能訪問伺服器,我之前只是做了DNS解析到西部資料的伺服器上,第一次用戶端能夠請到伺服器上,但是,西部資料會馬上把請求串連給重設,導致nginx提示串連儲值,出現上述錯誤。解決方案也很簡單,直接在西部資料的伺服器上添加白名單即可。(一開始知道白名單的事情,好長時間沒搞,給忘記了)2:js,圖片被php執行。在在遷移aizher.com 伺服器過程中碰到的另外一個問題是,js,css,和圖片被php執行(當然這是後來知道),一開始的時候,整個伺服器的頁面都花掉了,頁面樣式全亂。並且是有些圖片可以正常載入,而有的不能,png和jpg的都不能載入。當時因為是php配置問題,找了N久,沒有找到原因。後來 [php] error_reporting = E_ALL & ~E_NOTICE 開啟php的notice提示,發現,請求png圖片時,報出php語法錯誤來,奇哉怪也,突然想到是nginx配置問題,所有的請求,都按php解析做的,原來的nginx配置是[php] server_name *.aizher.com; index index.html index.htm index.php; root /home/admin/web/; location \$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/admin/web/$fastcgi_script_name; } 找到原因後,調整如下[php] server_name *.aizher.com; index index.html index.htm index.php; root /home/admin/web/; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/admin/web/$fastcgi_script_name; } location /status { stub_status on; access_log off; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } 也許你會問,為什麼不把之前的nginx拷貝過來直接使用。原因是,1:這台伺服器上還有其他服務,nginx檔案不能直接覆蓋,之前是使用的lnmp,這個這台伺服器,都是從頭搭建,也沒有使用fpm,所以...。2:大意失荊州,太小看這個問題,以為很容易就能搞定。