当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪nginx php-fpm 输出php错误日志的配置方法      由于nginx仅是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息。 nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在.........
    ▪nginx部署python应用的方法      本节内容: nginx下部署python 首先,确定python的头文件(/usr/include/python2.5) 不存在的话,请安装:   代码示例: sudo apt-get install python2.5-dev 下面介绍详细的配置步骤。 1,nginx安装   代码示例.........
    ▪Nginx常用参数 nginx的信号控制方法      本节内容: nginx常用参数、nginx信号控制。 1,nginx程序的运行参数 Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Ng.........

[1]nginx php-fpm 输出php错误日志的配置方法
    来源: 互联网  发布时间: 2013-12-24
由于nginx仅是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息。

nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog

 原因:
php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出,直接把他们重定向到/dev/null,所以我们在nginx的error log 和php-fpm的errorlog都看不到php的错误日志。

 解决nginx下php-fpm不记录php错误日志的办法:

 1.修改php-fpm.conf中配置 没有则增加
 

代码示例:
catch_workers_output = yes
error_log = log/error_log

 2.修改php.ini中配置,没有则增加
 

代码示例:
log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE

 3.重启php-fpm,
当PHP执行错误时就能看到错误日志在"/usr/local/lnmp/php/var/log/error_log"中了

 请注意:
 1. php-fpm.conf 中的php_admin_value[error_log] 参数 会覆盖php.ini中的 error_log 参数
所以确保你在phpinfo()中看到的最终error_log文件具有可写权限并且没有设置php_admin_value[error_log] 参数,否则错误日志会输出到php-fpm的错误日志里。

 2.找不到php.ini位置,使用php的phpinfo()结果查看

3.如何修改PHP错误日志不输出到页面或屏幕上
修改php.ini
 

代码示例:
display_errors = off //不显示错误信息(不输出到页面或屏幕上)
log_errors = on //记录错误信息(保存到日志文件中)
error_reporting = E_ALL //捕获所有错误信息
error_log = //设置日志文件名
程序中修改以上配置
 

 

代码示例:
ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //这个值好像是个PHP的常量
ini_set("error_log","<日志文件名>")
ini_set("log_errors",1);
4.如何将php的错误日志输出到nginx的错误日志里
在PHP 5.3.8及之前的版本中,通过FastCGI运行的PHP,在用户访问时出现错误,会首先写入到PHP的errorlog中
如果PHP的errorlog无法写入,则会将错误内容返回给FastCGI接口,然后nginx在收到FastCGI的错误返回后记录到了nginx的errorlog中
在PHP 5.3.9及之后的版本中,出现错误后PHP只尝试写入PHP的errorlog中,如果失败则不会再返回到FastCGI了,错误日志会输出到php-fpm的错误日志里。
所以如果想把php错误日志输出到nginx错误日志,需要使用php5.3.8之前的版本,并且配置文件中php的error_log对于php worker进程不可写。 

    
[2]nginx部署python应用的方法
    来源: 互联网  发布时间: 2013-12-24

本节内容:
nginx下部署python

首先,确定python的头文件(/usr/include/python2.5)
不存在的话,请安装:
 

代码示例:
sudo apt-get install python2.5-dev

下面介绍详细的配置步骤。

1,nginx安装
 

代码示例:
$ ./configure --add-module=/path/to/mod_wsgi/ --prefix=/usr/local/nginx
$ make && make install

2,mod_wsgi安装
 

代码示例:
$ cd mod_wsgi-0.0.6/
$ sudo python setup.py --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf --sbin-path=/usr/local/nginx/sbin

修改nginx.conf文件
 

代码示例:

#user nobody;
worker_processes 4;

error_log logs/error.log info;
pid        logs/nginx.pid;

events {
    use epoll; #linux2.6+
    worker_connections 2048;
}

env HOME;
env PYTHONPATH=/data/应用目录;
env PYTHON_EGG_CACHE=/tmp;

http {
    include       conf/mime.types;
    default_type application/octet-stream;

    sendfile        on;
    keepalive_timeout 65;

    gzip off;

    wsgi_python_optimize 2;
    wsgi_python_executable /usr/bin/python;
    #wsgi_python_home /usr;
    #wsgi_enable_subinterpreters on;

    server {
        listen       80;
        server_name localhost;

        include conf/wsgi_vars;

        #wsgi_middleware wsgiref.validate validator;
        #wsgi_middleware paste.lint;

        location / {
            root /data/boss_admin/;
        }

        location /do {
            #client_body_buffer_size 50;

            wsgi_pass /data/应用目录/nginx.py;

            wsgi_pass_authorization off;
            wsgi_script_reloading on;

               wsgi_use_main_interpreter on;
        }
    }
}


    
[3]Nginx常用参数 nginx的信号控制方法
    来源: 互联网  发布时间: 2013-12-24

本节内容:
nginx常用参数、nginx信号控制。

1,nginx程序的运行参数
Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。

Nginx 的参数包括:
 

-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。

例如,要测试某个配置文件是否书写正确,命令:
 

代码示例:
sbin/nginx – t – c conf/nginx2.conf

2,通过信号对 Nginx 进行控制
Nginx 支持下表中的信号:
 

信号名  作用描述 
TERM, INT  快速关闭程序,中止当前正在处理的请求 
QUIT  处理完当前请求后,关闭程序 
HUP  重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求 
USR1  重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件 
USR2  平滑升级可执行程序 
WINCH  从容关闭工作进程 

有两种方式来通过这些信号去控制 Nginx:
方式1,通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX <pid> 来控制 Nginx,其中 XXX 就是上表中列出的信号名。
方式2,针对系统中的Nginx进程,可以通过 killall 命令来完成,例如,运行 killall – s HUP nginx 来让 Nginx 重新加载配置。


    
最新技术文章:
▪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