zoukankan      html  css  js  c++  java
  • nginx 平滑升级到Tengine并编译concat

    1、到http://tengine.taobao.org/下载最新的Tengine

    2、编译 Tengine,我习惯修改下显示的版本号,修改源码中的 src/core/nginx.h 文件命令:./configure;make

    3、

    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
    cp -r objs/nginx /usr/local/nginx/sbin/nginx
    cp -r objs/dso_tool /usr/local/nginx/sbin/dso_tool 

    4、/usr/local/nginx/sbin/nginx -t(检测)

    5、service nginx restart(需重启)

    5、进行不重启平滑升级,先发送平滑升级的信号

    此时主进程的 pid 文件会改名为 .pid.oldbin ,并启动新的主进程和工作进程,查询进程

    会发现同时存在2主进程和多个工作进程,即新老版本同时工作,此时对旧版本发送从容关闭工作进程的信号。

    6、旧版本在处理完手头上的工作就会慢慢“退休”,此时再次查询进程会发现旧版本只有1个主进程存在了,最后发送从容关闭的信号给他。

    7、完成,可以用 curl -I 目标 来查看头部验证是否升级成功。

    扩展:

    1)编译concat

    • 配置

      ./configure [--with-http_concat_module | --with-http_concat_module=shared]

      --with-http_concat_module选项,concat模块将被静态编译到tengine中

      --with-http_concat_module=shared,concat模块将被编译成动态文件,采用动态模块的方式添加到tengine中

    • 关于tengine的dso动态加载的配置可以参考官方的文档http://tengine.taobao.org/document_cn/dso_cn.html
    • 如果是-with-http_concat_module=shared的话,会在tengine的modules目录里生成一个.so文件,需要在nginx的nginx.conf配置文件里加入
    • dso{
      
          load 你的so文件;
      
      }
      然后执行./nginx -s reload 重新加载一下配置文件就行。
  • 相关阅读:
    四则运算程序总结
    软件体系结构第三章-解释器风格
    软件工程概论随笔2
    软件体系结构第二章随笔
    软件体系结构第一章随笔
    关于如何衡量个人在各自团队的效率和绩效
    查询sql数据库中表占用的空间大小
    如何调试触发器
    sql server查看某个表上的触发器
    触发器deleted 表和 inserted 表详解
  • 原文地址:https://www.cnblogs.com/zhangwenzhao/p/3185931.html
Copyright © 2011-2022 走看看