当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪nginx+php的502 bad gateway错误原因分析      在nginx+php环境中出现502 bad gateway,大多不是nginx本身的问题,而是fastcgi或php的问题所致。 通常会有如下的几种情况: 1,php.ini的memory_limit 过小(如果有个别php程序进程需要占用极大内存时,.........
    ▪nginx日志配置文件的格式说明      1、nginx日志配置节   代码示例: #vim /usr/local/nginx/conf/nginx.conf log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '            '$status $body_bytes_sent "$http_referer" '            '"$.........
    ▪nginx取消上传目录php执行权限的方法分享      以前用的LAMP环境,迁移到阿里云主机总是超时apache溢出,于是换成了LNMP环境。 这前配置的伪静态规则要在nginx服务器上重新配置。 遇到一个问题,如何在nginx环境如何取消目录的PHP执行权限.........

[1]nginx+php的502 bad gateway错误原因分析
    来源: 互联网  发布时间: 2013-12-24

在nginx+php环境中出现502 bad gateway,大多不是nginx本身的问题,而是fastcgi或php的问题所致。

通常会有如下的几种情况:
1,php.ini的memory_limit 过小(如果有个别php程序进程需要占用极大内存时,这个勿必注意下。)
2,php-fpm.conf 中max_children或者max_requests 设置不合理(设置过小会因为没有足够的cgi进程处理请求,设置过大会出现一会儿有响应正常,一会儿等很久才有响应的情况,一般情况下children按 照内存计算,比如说1G设置64,2G128。
需要根据实际情况自行调整。
另外,查看当前的PHP FastCGI进程数是否够用的命令为:
netstat -anpo | grep “php-cgi” | wc -l 
如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。)

3,查看nginx错误日志,发现 pstream sent too big header while reading response header from upstream ,则检查client head buffer,fastcgi buffer size是否过小,可设置为32K。
php程序执行时间过长而超时,检查nginx和fastcgi中各种timeout设置。(nginx 中的 fastcgi_connect_timeout 300; fastcgi_send_timeout 300 :fastcgi_read_timeout 300; keepalive_timeout ; php-fpm中的request_terminate_timeout,php.ini中的max_execution_time)。

php-fpm有一个参数 max_requests ,该参数指明了每个children最多处理多少个请求后便会被关闭。

在大量处理请求下,如果该值设置过小会导致children频繁的自杀和建立而浪费 大量时间,若所有的children差不多都在这个时候自杀,则重建前将没有children响应请求,于是出现502 。可以将该值设置大一些或者是0[无限]。

对于nginx中502的解决方法,就是多看nginx和fastcgi的errorlog,找出问题所在,然后就好解决了。

总结: php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。


    
[2]nginx日志配置文件的格式说明
    来源: 互联网  发布时间: 2013-12-24

1、nginx日志配置节
 

代码示例:
#vim /usr/local/nginx/conf/nginx.conf
log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" $http_x_forwarded_for';
include /usr/local/nginx/conf/vhost/*.conf;
 

2、在vhost中配置
 

代码示例:

#vim /usr/local/nginx/conf/vhost/www..conf
server
{
        listen       80 default;
        server_name  www.;
        index index.html index.htm index.php;
        root  /data/httpd/csm.shopex.cn;     
       
        location ~ .*\.php?$
        {
            include fastcgi.conf;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
                expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
                expires      1h;
        }

        access_log /usr/local/nginx/logs/csm.log access;

}
 

3、nginx 日志模块的参数说明
 

$remote_addr   与$http_x_forwarded_for 用以记录客户端的ip地址;
$remote_user   :用来记录客户端用户名称;
$time_local  : 用来记录访问时间与时区; 
$request  :  用来记录请求的url与http协议;
$status     :  用来记录请求状态;成功是200,
$body_bytes_s ent  :记录发送给客户端文件主体内容大小;
$http_referer  :用来记录从那个页面链接访问过来的;
$http_user_agent  :记录客户毒啊浏览器的相关信息;

您可能感兴趣的文章:
nginx 日志分析的实例学习
Nginx日志模块分析详解
Nginx关闭日志的方法
Nginx日志分析 Nginx日志切割与Awstats配置
nginx日志配置、Nginx日志分割
有关nginx日志格式的设计分享
nginx日志统计访问时间的例子
一个分割ngnix网站日志的Shell脚本
nginx日志报大量400错误的解决方法
nginx关闭favicon.ico日志记录的方法
nginx与apache日志格式的区别
nginx日志中记录cookie的实现方法
修改nginx访问日志的时间格式的方法
Nginx日志中过滤关键字的写法
nginx 日志分析实例


    
[3]nginx取消上传目录php执行权限的方法分享
    来源: 互联网  发布时间: 2013-12-24

以前用的LAMP环境,迁移到阿里云主机总是超时apache溢出,于是换成了LNMP环境。

这前配置的伪静态规则要在nginx服务器上重新配置。

遇到一个问题,如何在nginx环境如何取消目录的PHP执行权限。

参考方法:
将以下代码添加至Server容器中,定义fastcgi的规则之前,如下:
 

代码示例:
location ~ /(uploads|data|templets)/.*\.(php|php5)?$ {
deny all;
}
 

这样就禁止上传目录执行php程序了。
注意:
代码一定要定义在fastcgi的前面才可以。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪Shell脚本函数定义和函数参数 iis7站长之家
▪监控网站是否可以正常打开的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