Nginx 基础篇(1)

来源:互联网 发布:谁有午夜福利软件 编辑:程序博客网 时间:2024/05/17 04:32

本文研究环境

OS

IP

Nginx版本

Nginx安装路径

Debian 6 (Linux Kernel 2.6.32)

192.168.61.251

1.2.3

/usr/local/nginx


 

1. Nginx在Linux下的安装
   a) 解压:
      # tar zxvf nginx-1.2.3.tar.gz
   b) 配置、编译、安装:
      # ./configure –prefix=/usr/local/nginx
      # make && make install
说明:
1) 若安装前要添加其他模块或配置,请使用./configure –help查看./configure命令的参数并酌情进行配置
2) 配置完成后的文件路径:
   启动文件:/usr/local/nginx/sbin/nginx
   配置文件:/usr/local/nginx/conf/nginx.conf

2. Nginx启动、停止、平滑重启
   a) 启动
      # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
      说明:如果不指定参数c,即配置文件路径,默认会到nginx安装路径下查找(针对本文,nginx配置文件路径为:/usr/local/nginx/conf/nginx.conf)
   b) 停止
      两种方式:
      1) 通过pid文件(pid文件默认路径/usr/local/nginx/logs/nginx.pid,里面存放nginx的主进程id)
         # kill - QUIT `/usr/local/nginx/logs/nginx.pid`     --这是从容停止nginx
  # kill - TERM `/usr/local/nginx/logs/nginx.pid`     --这是快速停止nginx
      2) 通过进程名称停止nginx
         # pkill -9 nginx       --强制停止所有nginx进程
   c) 平滑重启
      1) 首先检查nginx配置文件是否被正确配置
          # /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
   若出错,会打印出错行数,若正确,则出现OK字样
      2) 平滑重启
         kill -HUP `/usr/local/nginx/logs/nginx.pid`
  说明:当Nginx接收到HUP信号时,会尝试先解析配置文件,若解析成功,就应用新的配置文件,之后,nginx运行新的工作进程并从容关闭旧的工作进程。
        通知工作进程关闭监听套接字,但是继续为当前连接的客户端提供服务,所有客户端服务完成后,旧的工作进程被关闭,如果新的配置文件应用失败,
        nginx将继续使用旧的配置文件进行工作
      
3. Nginx的信号控制
      TERM, INT  --快速关闭
      QUIT       --从容关闭
      HUP        --平滑重启
      USR1       --重新打开日志文件,在切割日志时用途较大
      USR2       --平滑升级可执行程序
      WINCH      --从容关闭工作进程

4. Nginx的平滑升级
   a) 使用新的可执行程序替换旧的可执行程序,将新nginx编译安装到旧nginx安装路径中,替换职前,最好备份
   b) 发送替换命令:
      # kill - USR2 旧版本的nginx主进程号
      即: # kill - USR2 `/usr/local/nginx/logs/nginx.pid`
      这样nginx将重命名旧的nginx.pid为nginx.pid.oldbin,并依次启动新的主进程和新的工作进程
      此时新旧版本nginx同时运行,要关闭旧版本nginx进程,发送命令:kill -WINCH 旧版本的主进程号
      即:kill - WINCH `/usr/local/nginx/logs/nginx.pid.oldbin`
      这样一段时间后,旧的工作进程处理了所有已连接的请求后退出,仅留下新的nginx进程来处理请求

原创粉丝点击