当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪nginx报错502 Bad Gateway原因与解决方法      网站报错: 502 Bad Gateway  /nginx/0.8.15 解释: 502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。这个应该是网管使用了过滤软件。 .........
    ▪nginx gzip 简介      gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器.........
    ▪Nginx不支持ThinkPHP配置pathinfo问题的解决方法      前言 ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可。 在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持.........

[1]nginx报错502 Bad Gateway原因与解决方法
    来源: 互联网  发布时间: 2013-12-24

网站报错:
502 Bad Gateway  /nginx/0.8.15
解释:
502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。这个应该是网管使用了过滤软件。
可能是nginx高负载造成的!

解决:增加了fastcgi的相应请求时间
 

代码如下:
http
{
......
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
......
}

经验总结:
但是我在实际中碰到了这个问题,设置到500,还是会出现,只是比我设置120的时候要少一些。
后来发现主要是在一些post或者数据库操作的时候出现这种情况,静态页面是不会出现的。
反复的查问题,调试,也加大了CGI的进程数。
128
256再加上去可能会变得很慢。占用内存大了。
在php-fpm.conf设置中还有一项,可能当时没注意到,无意中改了这个值。
request_terminate_timeout
这个值是max_execution_time,就是fast-cgi的执行脚本时间。
0s
0s为关闭,就是无限执行下去。(当时装的时候没仔细看就改了一个数字)
发现,问题解决了,执行很长时间也不会出错了。
优化fastcgi中,还可以改改这个值5s 。看看效果
终于发现502的错误其实不是nginx的问题,哈哈
php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。


    
[2]nginx gzip 简介
    来源: 互联网  发布时间: 2013-12-24

gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip过的页面。
Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于http{….}两个大括号之间。

gzip on;
//该指令用于开启或关闭gzip模块(on/off)

gzip_min_length 1k;
//设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。

gzip_buffers 4 16k;
//设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。

gzip_http_version 1.1;
//识别http的协议版本(1.0/1.1)

gzip_comp_level 2;
//gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)

gzip_types text/plain application/x-javascript text/css application/xml
//匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。
gzip_vary on;
//和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

nginx 配置gzip段如下:
 

代码如下:
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

    
[3]Nginx不支持ThinkPHP配置pathinfo问题的解决方法
    来源: 互联网  发布时间: 2013-12-24

前言

ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可。
在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,这使得用TP写程序变的非常有局限性。
需要修改nginx.conf文件。

通过以下的配置可以完美支持 'URL_MODEL' => 2 的情况了
 

代码如下:
  location /project/ {
   index index.php;
   if (!-e $request_filename) {
   rewrite ^/project/(.*)$ /project/index.php/$1 last;
   break;
   }
  }
  location ~ .+\.php($|/) {
   set $script $uri;
   set $path_info "/";
   if ($uri ~ "^(.+\.php)(/.+)") {
   set $script $1;
   set $path_info $2;
   }
   fastcgi_pass 127.0.0.1:9000;
   fastcgi_index index.php?IF_REWRITE=1;
   include /APMServ/nginx/conf/fastcgi_params;
   fastcgi_param PATH_INFO $path_info;
   fastcgi_param SCRIPT_FILENAME $document_root/$script;
   fastcgi_param SCRIPT_NAME $script;
  }

先把project下的请求都转发到index.php来处理,亦即ThinkPHP的单一入口文件;然后把对php文件的请求交给fastcgi来处理,并且添加对PATH_INFO的支持。
重启Nginx以后,http://localhost/project/Index/insert, http://localhost/project/index.php/Index/delete 这样的URL都可以正确访问了。
另外要注意:Nginx配置文件里 if 和后面的括号之间要有一个空格,不然会报unknown directive错误。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3