常见错误与解决方法_第1页
常见错误与解决方法_第2页
常见错误与解决方法_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海纽斯达科技Nginx常见错误与解决方法上海纽斯达科技有限公司2014-10-25文档状态文件状态:文档编号Nsdkj-778保密等级限制【】草稿作者刘恒亮最后完成日期2014-12-25【】修改稿审核人最后审核日期2014-12-25【2】正式发布批准人最后批准日期2014-12-25目的:在Nginx服务器岀现故障时,能快速定位并解决相关错误。保密:本文档仅供内部使用,请勿外传概述:Nginx常见错误与问题之解决方法技术指南。安装环境:系统环境:redhat en terprise 6.5 64bit1、Nginx常见启动错误有的时候初次安装nginx的时候会报这样的错误sbin/ngi

2、nx -c conf/ngin x.c onf报错内容: sbin/nginx: error while load ing shared libraries: libpcre.so.1:cannot open shared object file: No such file or directory启动时如果报异常error while loading shared libraries: libpcre.so.1: cannot openshared object file: No such file or directory这说明我们的环境还不是和启动需要小小的配置一下解决方法(直接运行):

3、32 位系统rootsever lib# ln -s /usr/local/lib/libpcre.so.1 /lib64 位系统rootsever lib# ln -s /usr/local/lib/libpcre.so.1 /lib64然后执行ps -ef | grep nginx查看nginx进程确认是否真的已经启动了,在进程列表里会有最起码两个,worker(nginx工作进程)和master (nginx主进程)root 4349 1 0 02:24 ? 00:00:00 ngi nx: master process sbi n/n gi nx -cconf/ngin x.c onf

4、nginx 4350 4349 0 02:24 ? 00:00:00 ngi nx: worker processroot 4356 28335 0 02:30 pts/1 00:00:00 grep ngi nxNGINX 就 OK 了2、400 bad request 错误的原因和解决办法配置nginx.conf 相关设置如下.clie nt_header_buffer_size 16k;large_clie nt_header_buffers 4 64k;根据具体情况调整,一般适当调整值就可以。3、 Nginx 502 Bad Gateway错误在 php.ini和口 php-fpm.c

5、onf中分别有这样两个配置项:max_execution_time和口request_termi nate_timeout 。这两项都是用来配置一个PHP脚本的最大执行时间的。当超过这个时间时,PHP-FPM不只会终止脚本的执行,还会终止执行脚本的Worker进程。所以Nginx会发现与自己通信的连接断掉了,就会返回给客户端502错误。以 PHP-FPM的 request_terminate_timeout=30秒时为例,报 502 Bad Gateway 错误的具体信息如下:1) Nginx错误访问日志:2013/09/19 01:09:00 error 27600#0: *78887 re

6、cv() failed (104: Conn ectionreset by peer) while readi ng resp onse header from upstream,client: 01, server: , request: "POST /index.phpHTTP/1.1",upstream: "fastcgi:/u ni x:/dev/shm/php-fcgi.sock:",host: "", referrer: " dex.php"2) PHP-FPM报报错日志:WARN

7、ING: child 25708 exited on signal 15 (SIGTERM) after 21008.883410sec onds from start所以只需将这两项的值调大一些就可以让PHP脚本不会因为执行时间长而被终止了。request_terminate_timeout 可以覆盖 max_execution_time ,所以如果不想改全局的php.ini ,那只改PHP-FPM的配置就可以了。此外要注意的是 Nginx的upstream 模块中的 max_fail和fail_timeout两项。有时 Nginx与上游服务器(如Tomcat、FastCGI )的通信只是偶

8、然断掉了,但max_fail如果设置的比较小的话,那么在接下来的fail_timeout时间内,Nginx都会认为上游服务器挂掉了,都会返回502错误。所以可以将max_fail调大一些,将 fail_timeout 调小一些。4、Nginx 岀现的 413 Request Entity Too Large 错误这个错误一般在上传文件的时候会出现,编辑Nginx主配置文件 Nginx.conf ,找到http段,添加clie nt_max_body_size 10m; /设置多大根据自己的需求作调整如果运行php的话这个大小client_max_body_size要和php.ini中的如下值的

9、最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。post_max_size = 10Mupload_max_filesize = 2M5、解决 504 Gateway Time-out(nginx)遇到这个问题是在升级 discuz论坛的时候遇到的一般看来,这种情况可能是由于 nginx默认的 fastcgi进程响应的缓冲区太小造成的,这将导致fastcgi进程被挂起,如果你的fastcgi服务对这个挂起处理的不好,那么最后就极有可能导致 504 Gateway Time-out,现在的网站,尤其某 些论坛有大量的回复和很多内容的,一个页面甚至有几百 K。默认的fastcgi进

10、程响应的缓冲区是8K,我们可以设置大点在nginx.conf里,加入:fastcgi_buffers 8 128k这表示设置fastcgi 缓冲区为 8X 128当然如果您在进行某一项即时的操作,可能需要nginx的超时参数调大点,例如设置成90秒:send_timeout 90;只是调整了这两个参数,结果就是没有再显示那个超时,效果不错Nginx中关于与上游服务器通信超时时间的配置factcgi_connect/read/send_timeout。以Nginx超时时间为90秒,PHP-FPM超时时间为 300秒为例,报504 Gateway Timeout 错误时 的Nginx错误访问日志如

11、下:2013/09/19 00:55:51 error 27600#0: *78877 upstream timed out (110:Conn ecti on timed out) while readi ng resp onse header from upstream,clie nt:01, server: , request: "POST /in dex.phpHTTP/1.1", upstream: "fastcgi:/u ni x:/dev/shm/php-fcgi.sock:".host: "",r

12、eferrer: " dex.php"调高这三项的值(主要是read和send两项,默认不配置的话Nginx会将超时时间设为 60秒)之后,504错误也解决了。而且这三项配置可以配置在http、server级别,也可以配置在locatio n级别。担心影响其他应用的话,就配置在自己应用的locatio n 中吧。要注意的是 factcgi_connect/read/send_timeout是对 FastCGI 生效的,而proxy_connect/read/send_timeout是对 proxy_pass 生效的。配置举例:locati on .php$ root/hom

13、e/cdai/;in cludefastcgi_params;fastcgi_c onn ect_timeout180;fastcgi_read_timeout600;fastcgi_se nd_timeout600;fastcgi_passuni x:/dev/shm/php-fcgi.sock;fastcgi_i ndexin dex.php;fastcgi_paramSCRIPT_FILENAME/home/cdai/$fastcgi_script_ name;6、如何使用 Ngi nx Proxy朋友一台服务器运行tomcat为8080端口,IP::8080,另一

14、台机器IP:.朋友想通过访问即可访问tomcat服务.配置如下在 的 nginx.conf上配置如下:server listen 80;server_ name java .lin uxt on locati on / proxy_pass :8080;in clude /usr/local/ngin x/c on f/proxy.c onf;7. 安装完成Nginx后无法站外访问?刚安装好nginx 个常见的问题是无法站外访问,本机wget、tel net都正常。而服务

15、器之外,不管是局域网的其它主机还是互联网的主机都无法访问站点。如果用teln et的话,提示:正在连接到192.168.0.XXX不能打开到主机的连接,在端口 80:连接失败如果用wget命令的话,提示:Connecting to 00:80failed: No route to host.如果是以上的故障现象,很可能是被CentOS的防火墙把80端口拦住了,尝试执行以下命令,打开80端口:iptables -I INPUT -p tcp -dport 80 -j ACCEPT然后用:/etc/ in it.d/iptables status查看当前的防火墙规则,如果发现

16、有这样一条:ACCEPTtcp/0/0tcp dpt:80就说明防火墙规则已经添加成功了,再在站外访问就正常了8、如何关闭 Nginx的LOG access_log /dev/ null此外,错误日志主要记录客户端访问nginx出错时的日志, 通过错误日志,能快速定位客户端访问异常!错误信息错误说明"upstream prematurely (过早 的) closed conn ecti on"请求uri的时候出现的异常,是由于 upstream还未返回应答给用户时用户断 掉连接造成的,对系统没有影响,可以 忽略"recv() fail

17、ed (104: Conn ection reset by peer)"(1)服务器的并发连接数超过了其承载 量,服务器会将其中一些连接 Down掉;(2)客户关掉了浏览器,而服务器还在 给客户端发送数据;(3)浏览器端按了 Stop"(111: Co nn ection refused) while connecting to upstream"用户在连接时,若遇到后端upstream挂掉或者不通,会收到该错误"(111: Co nn ection refused) while readi ng resp onse header from upstre

18、am"用户在连接成功后读取数据时,若遇到 后端upstream挂掉或者不通,会收到该 错误"(111: Co nn ection refused) while sending request to upstream"Nginx和upstream连接成功后发送数据 时,若遇到后端upstream挂掉或者不通, 会收到该错误"(110: Co nn ection timed out) while connecting to upstream"nginx连接后面的upstream时超时"(110: Co nn ection timed ou

19、t) while readi ng upstream"nginx读取来自upstream的响应时超时"(110: Co nn ection timed out) while readi ng resp onse header from upstream"nginx读取来自upstream的响应头时超 时"(110: Co nn ection timed out) while readi ng upstream"nginx读取来自upstream的响应时超时"(104: Connection reset by peer) while connecting to upstream"upstream发送了 RST,将连接重置"upstream sent in valid header while readi ng resp onse header from upstream"upstream发送的响应头无效"upstream sent no valid HTTP/1.0 header while readi ng r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论