Nginx的安装及简单配置(2)

• 使用新的可执行程序替换旧的可执行程序,对于编译安装的Nginx,可以将新版本编译安装到旧版本的nginx安装路径中.替换之前,最好备份一下旧的可执行程序
• 发送以下指令:
Kill USR2 <旧版本的nginx主进程号>
• 旧版本的主进程将重命名它的pid文件为.oldbin (例如:/usr/local/nginx/logs/nginx.pid.oldbin),然后执行新版本的nginx可执行程序,依次启动新的主进程和新的工作进程.
• 此时,新旧版本的nginx实例会同时运行,共同处理输入的请求.要逐步停止旧版本的nginx实例,你必须发送WINCH信号给旧的主进程,然后,它的工作进程就将开始从容关闭:
   kill WINCH <旧版本的Nginx主进程号>
• 一段时间后,旧的工作进程(worker process)处理了所有已连接的请求后退出,仅由新的工作进程来处理输入的请求了.
• 这时候,我们可以决定是使用新版本,还是回复到旧的版本;
   Kill HUP <旧的主进程号>:Nginx将在不重载配置文件的情况下启动它的工作进程;
   Kill QUIT <新的主进程号>:正常关闭其它工作进程(woker process);
   如果此时报错, 提示还有进程没有结束就用下面命令先关闭旧工作进程,再关闭主进程号:
   Kill TERM <新的工作进程号>:强制退出工作进程;
   Kill <新的主进程号或旧的主进程号>:如果因为某些原因新的工作进程不能退出,则向其发送kill信号.
  新的主进程退出后,旧的主进程会移除.oldbin前缀,恢复为他的.pid文件,这样,一切就都恢复到升级之前了,如果尝试升级成功,而你也希望保留新的服务器时,可发送QUIT信号给旧的主进程,使其退出而只留下新的服务器运行

 

6.日志切割

  mv /data1/logs/access.log /data1/logs/20160520.log
  kill -USR1 'cat /var/run/nginx/nginx.pid'  #这样的话就不用ps查找Nginx主进程号了.

  如果要让它每天定时切割日志,可以编写shell脚本.并且利用crontab来每天定时运行.

  #!/bin/bash
  #定义Nginx日志文件的存放路径
  logs_path = "/var/logs/nginx/"

  mkdir -p ${logs_path}$(date -d "yesterday" + "%Y")/$(date -d "yesterday" +"%m")/
  mv ${logs_path}access.log  ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday"+"%m")/access_$(date -d "yesterday" + "%Y%m%d").log
  kill -USR1 'cat /var/run/nginx/nginx.pid'

  再配置crontab,输入crontab -e
  输入:
  00 00 * * * /bin/bash /usr/loca/webserver/nginx/sbin/cut_nginx_log.sh

更多Nginx相关教程见以下内容

CentOS 6.2实战部署Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

CentOS 6.3下Nginx性能调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx安���配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/81759745c7366553490afc98efee6916.html