lamp架构nginx并发优化平滑升级与回滚

Posted dezasseis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lamp架构nginx并发优化平滑升级与回滚相关的知识,希望对你有一定的参考价值。

一、nginx并发优化

server1:172.25.2.1
server2:172.25.2.2
server3:172.25.2.3

  • 停止openresty中的nginx,开启原生nginx
/usr/local/openresty/nginx/sbin/nginx -s stop
systemctl start nginx.service

  • server2和server3安装apache
    yum install -y httpd
    systemctl enable --now httpd
    echo server2 > /var/www/html
    echo server3 > /var/www/html
  • 修改用户进程可打开文件数限制
    vim /etc/security/limits.conf
nginx - nofile 65535

  • 显示当前用户限制
    ulimit -a

    nginx做反向代理服务器:
  • worker_processes
    工作进程数(最好将其设置为可用的CPU内核数)或者,可以将其设置为auto。
    这样nginx会自动根据核心数为生成对应数量的worker进程。
  • worker_connections
    单个工作进程并发连接数
  • worker_cpu_affinity 01 10
    pu有多少个核,就有几位数,1代表内核开启,0代表内核关闭
  • nginx作为http服务器时
    max_clients = worker_processes * worker_connections
  • nginx作为反向代理服务器
    max_clients = worker_processes * worker_connections / 2
  • 使用epoll模型
    use epoll
  • worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。
    worker_rlimit_nofile

cd /usr/local/nginx/conf
vim nginx.conf



  • 重载nginx

  • 测试:

二、nginx平滑升级与回滚

  • 编译新版本nginx,make,但是不make install
    tar zxf nginx-1.19.1.tar.gz
    cd nginx-1.19.1/
    vim auto/cc/gcc
# debug
#CFLAGS="$CFLAGS -g"

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
make #注意不要make install

  • 查看编译产生的新版本nginx

    查看版本:
  • 复制新版nginx到相关目录下
  • 查看当前运行的版本,1.18.0

  • 版本升级

kill -USR2 nginx master进程号 升级新程序

kill -WINCH 原nginx master进程号 关闭原worker进程但保留主进程:为了回退

查看当前nginx进程号
版本升级
kill -USR2 nginx master进程号
kill -WINCH 原nginx master进程号

  • 版本回退

kill -HUP 原nginx master进程号 #唤醒原进程

kill -WINCH 新nginx master进程号 #回收新版本的worker进程

kill -QUIT 新nginx master进程号 #关闭新版本主进程

以上是关于lamp架构nginx并发优化平滑升级与回滚的主要内容,如果未能解决你的问题,请参考以下文章

lamp架构nginx并发优化平滑升级与回滚

web服务之nginx命令,信号还有平滑升级与回滚

linux企业部分:nginx的并发优化负载均衡反向代理平滑升级算法扩展限流配置管理重定向。

k8s用kubectl管理应用升级,服务发布与回滚,扩缩容

Nginx平滑升级和回滚

Linux编译安装nginx并平滑升级和回滚