nginx常見錯誤與解決方法_第1頁
nginx常見錯誤與解決方法_第2頁
nginx常見錯誤與解決方法_第3頁
nginx常見錯誤與解決方法_第4頁
nginx常見錯誤與解決方法_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、上海紐斯達(dá)科技Nginx常見錯誤與解決方法上海紐斯達(dá)科技2021-10-25文檔狀態(tài)文件狀態(tài):文檔編號Nsdkj-778保密等級限制【】草稿作者劉恒亮最后完成日期2021-12-25【】修改稿審核人最后審核日期2021-12-25V正式發(fā)布批準(zhǔn)人最后批準(zhǔn)日期2021-12-25目的:在Nginx效勞器出現(xiàn)故障時,能快速定位并解決相關(guān)錯誤。保密:本文檔僅供內(nèi)部使用,請勿外傳概述:Nginx常見錯誤與問題之解決方法技術(shù)指南。安裝環(huán)境:系統(tǒng)環(huán)境:redhatenterprise6.564bit1、Nginx常見啟動錯誤有的時候初次安裝nginx的時候會報這樣的錯誤sbin/nginx-cconf/n

2、ginx.confcannotopensharedobjectfile:Nosuchfileordirectorysharedobjectfile:Nosuchfileordirectory這說明我們的環(huán)境還不是和啟動需要小小的配置一下解決方法(直接運行):32位系統(tǒng)rootseverlib#ln-s/usr/local/lib/libp然后執(zhí)行ps-ef|grepnginx查看nginx進(jìn)程確認(rèn)是否真的已經(jīng)啟動了,在進(jìn)程列表里會有最起碼兩個,worker(nginx工作進(jìn)程)和masternginx主進(jìn)程root43491002:24?00:00:00nginx:masterprocesss

3、bin/nginx-cnginx43504349002:24?00:00:00nginx:workerprocessroot435628335002:30pts/100:00:00grepnginxNGINX就OK了2、400badrequest錯誤的原因和解決方法配置nginx.conf相關(guān)設(shè)置如下.client_header_buffer_size16k;large_client_header_buffers464k;根據(jù)詳細(xì)情況調(diào)整,一般適當(dāng)調(diào)整值就可以。3、Nginx502BadGateway錯誤在php.ini和php-fpm.conf中分另I有這樣兩個配置項:maxexecutio

4、ntime和request_terminate_timeout。這兩項都是用來配置一個PHP腳本的最大執(zhí)行時間的。當(dāng)超過這個時間時,PHP-FPM不只會終止腳本的執(zhí)行,還會終止執(zhí)行腳本的Worker進(jìn)程。所以Nginx會發(fā)現(xiàn)與自己通信的連接斷掉了,就會返回給客戶端502錯誤。以PHP-FPM的request_terminate_timeout=30秒時為例,報502BadGateway錯誤的詳細(xì)信息如下:1Nginx錯誤訪問日志:2021/09/1901:09:00error27600#0:*78887recv()failed(104:Connectionresetbypeer)whilere

5、adingresponseheaderfromupstream,OST/index.php/1.1",upstream:"fastcgi:/unix:/dev/shm/php-fcgi.sock:",host:"test",referrer:":/test/index.php"2PHP-FPMM錯日志:WARNING:child25708exitedonsignal15(SIGTERM)after21008.883410secondsfromstart所以只需將這兩項的值調(diào)大一些就可以讓PHP腳本不會因為執(zhí)行時間長而被終止了

6、。request_terminate_timeout可以覆蓋max_execution_time,所以假設(shè)不想改全局的php.ini,那只改PHP-FPM勺配置就可以了。此外要注意的是Nginx的upstream模塊中的max_fail和fail_timeout兩項。有時Nginx與上游效勞器如Tomcat、FastCGI的通信只是偶然斷掉了,但max_fail假設(shè)設(shè)置的比較小的話,那么在接下來的fail_timeout時間內(nèi),Nginx都會認(rèn)為上游效勞器掛掉了,都會返回502錯誤。所以可以將max_fail調(diào)大一些,將fail_timeout調(diào)小一些。4、Nginx出現(xiàn)的413Request

7、EntityTooLarge錯誤這個錯誤一般在上傳文件的時候會出現(xiàn),編輯Nginx主配置文件Nginx.conf,找到段,添加client_max_body_size10m;/設(shè)置多大根據(jù)自己的需求作調(diào)整假設(shè)運行php的話這個大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,這樣就不會因為提交數(shù)據(jù)大小不一致出現(xiàn)的錯誤。post_max_size=10Mupload_max_filesize=2M5、解決504GatewayTime-out(nginx)遇到這個問題是在晉級discuz論壇的時候遇到的一般看來,這種情況可能是由于nginx默認(rèn)的fast

8、cgi進(jìn)程響應(yīng)的緩沖區(qū)太小造成的,這將導(dǎo)致fastcgi進(jìn)程被掛起,假設(shè)你的fastcgi效勞對這個掛起處理的不好,那么最后就極有可能導(dǎo)致504GatewayTime-out,如今的網(wǎng)站,尤其某些論壇有大量的回復(fù)和很多內(nèi)容的,一個頁面甚至有幾百K。默認(rèn)的fastcgi進(jìn)程響應(yīng)的緩沖區(qū)是8K,我們可以設(shè)置大點在nginx.conf里,參加:fastcgi_buffers8128k這表示設(shè)置fastcgi緩沖區(qū)為8X128當(dāng)然假設(shè)您在進(jìn)展某一項即時的操作,可能需要nginx的超時參數(shù)調(diào)大點,例如設(shè)置成90秒:send_timeout90;只是調(diào)整了這兩個參數(shù),結(jié)果就是沒有再顯示那個超時,效果不錯N

9、ginx中關(guān)于與上游效勞器通信超時時間的配置factcgi_connect/read/send_timeout。以Nginx超時時間為90秒,PHP-FPM超時時間為300秒為例,報504GatewayTimeout錯誤時的Nginx錯誤訪問日志如下:2021/09/1900:55:51error27600#0:*78877upstreamtimedout(110:Connectiontimedout)whilereadingresponseheaderfromupstream,host:"test",referrer:":/test/index.php"

10、;調(diào)高這三項的值主要是read和send兩項,默認(rèn)不配置的話Nginx會將超時時間設(shè)為60秒之后,504錯誤也解決了。而且這三項配置可以配置在、server級別,也可以配置在location級別。擔(dān)憂影響其他應(yīng)用的話,就配置在自己應(yīng)用的location中吧。要注意的是factcgi_connect/read/send_timeout是對FastCGI生效的,而proxy_connect/read/send_timeout是對proxy_pass生效的。配置舉例:location.php$root/home/cdai/test;includefastcgi_params;180;600;fast

11、cgi_connect_timeoutfastcgi_read_timeout600;unix:/dev/shm/phpindex.php;SCRIPT_FILENAMEfastcgi_send_timeoutfastcgi_pass-fcgi.sock;fastcgi_indexfastcgi_param/home/cdai/test$fastcgi_script_name;6、如何使用NginxProxyserverlisten80;location/include/usr/local/nginx/conf/proxy.conf;7.安裝完成Nginx后無法站外訪問?剛安裝好nginx一個

12、常見的問題是無法站外訪問,本機(jī)wget、telnet都正常。而效勞器之外,不管是局域網(wǎng)的其它主機(jī)還是互聯(lián)網(wǎng)的主機(jī)都無法訪問站點。假設(shè)用telnet的話,提示:假設(shè)用wget命令的話,提示:假設(shè)是以上的故障現(xiàn)象,很可能是被CentOS的防火墻把80端口攔住了,嘗試執(zhí)行以下命令,翻開80端口:iptables-IINPUT-ptcp-dport80-jACCEPT然后用:查看當(dāng)前的防火墻規(guī)那么,假設(shè)發(fā)現(xiàn)有這樣一條:就說明防火墻規(guī)那么已經(jīng)添加成功了,再在站外訪問就正常了8、如何關(guān)閉Nginx的LOGaccess_log/dev/nullerror_log/dev/null此外,錯誤日志主要記錄客戶端

13、訪問nginx出錯時的日志,通過錯誤日志,能快速定位客戶端訪問異常!錯誤信息錯誤說明"upstreamprematurely過早的closedconnection"懇求uri的時候出現(xiàn)的異常,是由于upstream還未返回應(yīng)答給用戶時用戶斷掉連接造成的,對系統(tǒng)沒有影響,可以忽略"recv()failed(104:Connectionresetbypeer)"1效勞器的并發(fā)連接數(shù)超過了其承載量,效勞器會將其中一些連接Down掉;2客戶關(guān)掉了閱讀器,而效勞器還在給客戶端發(fā)送數(shù)據(jù);3閱讀器端按了Stop"(111:Connectionrefused)

14、whileconnectingtoupstream"用戶在連接時,假設(shè)遇到后端upstream掛掉或者不通,會收到該錯誤"(111:Connectionrefused)whilereadingresponseheaderfromupstream"用戶在連接成功后讀取數(shù)據(jù)時,假設(shè)遇到后端upstream掛掉或者不通,會收到該錯誤"(111:Connectionrefused)whilesendingrequesttoupstream"Nginx和upstream連接成功后發(fā)送數(shù)據(jù)時,假設(shè)遇到后端upstream掛掉或者不通,會收到該錯誤"

15、;(110:Connectiontimedout)whileconnectingtoupstream"nginx連接后面的upstream時超時"(110:Connectiontimedout)whilereadingupstream"nginx讀取來自upstream的響應(yīng)時超時"(110:Connectiontimedout)whilereadingresponseheaderfromupstream"nginx讀取來自upstream的響應(yīng)頭時超時"(110:Connectiontimedout)whilereadingupst

16、ream"nginx讀取來自upstream的響應(yīng)時超時”(104:Connectionresetbypeer)whileconnectingtoupstream"upstream發(fā)送JRST,將連接重置"upstreamsentinvalidheaderwhilereadingresponseheaderfromupstream"upstream發(fā)送的響應(yīng)頭無效"upstreamsentnovalid/1.0headerwhilereadingresponseheaderfromupstream"upstream發(fā)送的響應(yīng)頭無效"clientintendedtosendtoolargebody"用于設(shè)置允許承受的客戶端懇求內(nèi)容的取人值,默認(rèn)值是1M,client發(fā)送的body超過了設(shè)置值"reopeninglogs"用戶發(fā)送kill-USR1命令"gracefullyshuttingdown",用戶發(fā)送kill-WINCH命令"noserversareinsideupstream"upstream卜木配置server"noliveupstreamswhileconnectingto

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論