nginx平滑升级

#平滑升级

kill -USR2 <PID号>

 //查看nginx版本
 
  1. [root@l1 logs]# nginx -v //查看nginx版本

  2. nginx version: nginx/1.26.0

  3. [root@l1 logs]#

安装一个1.25版本实验一下 
 
  1. [root@l2 ~]# cd /opt/

  2. [root@l2 opt]#

[root@l2 opt]# lsnginx-1.25.5.tar.gz nginx-1.26.0.tar.gz rh
进行初始化配置 
[root@l2 opt]# systemctl disable --now firewalld.serviceRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@l2 opt]# setenforce 0[root@l2 opt]# vim /etc/selinux/config
安装软件包 
[root@l2 opt]# df文件系统 1K-块 已用 可用 已用% 挂载点devtmpfs 1913548 0 1913548 0% /devtmpfs 1930628 0 1930628 0% /dev/shmtmpfs 1930628 12528 1918100 1% /runtmpfs 1930628 0 1930628 0% /sys/fs/cgroup/dev/mapper/centos-root 38770180 5714188 33055992 15% //dev/sda1 1038336 191100 847236 19% /boottmpfs 386128 12 386116 1% /run/user/42tmpfs 386128 0 386128 0% /run/user/0[root@l2 opt]# mount /dev/sr0 /mntmount: /dev/sr0 写保护,将以只读方式挂载[root@l2 opt]# yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make//安装软件包 
创建用户  
[root@l2 opt]# useradd -M -s /sbin/nolongin nginx
 编译安装Nginx
[root@l2 opt]# cd /opt/[root@l2 opt]# lsnginx-1.25.5.tar.gz nginx-1.26.0.tar.gz rh[root@l2 opt]# tar xf nginx-1.25.5.tar.gz //解压[root@l2 opt]# cd nginx-1.25.5/[root@l2 nginx-1.25.5]#
./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_stub_status_module

 

[root@l2 nginx-1.25.5]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module//指定安装路径,指定运行用户,运行组 ,开启模块,htps协议
[root@l2 nginx-1.25.5]# make && make install
 设置软链接,可以直接调用nginx命令来进行管理
[root@l2 nginx-1.25.5]# cd /usr/local/nginx/[root@l2 nginx]# ls sbin/nginx[root@l2 nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/[root@l2 nginx]#[root@l2 nginx]# /usr/local/nginx/sbin/nginx //运行[root@l2 nginx]#[root@l2 nginx]# cd /usr/lib/systemd/system[root@l2 system]# vim nginx.service[root@l2 system]#[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target[root@l2 system]# chmod 754 /lib/systemd/system/nginx.service[root@l2 system]#

启动nginx服务 ​​​​​​​

/usr/local/nginx/sbin/nginxnetstat -lntp | grep 80
 查看pid进程号
  1. [root@l2 ~]# cat /usr/local/nginx/logs/nginx.pid

  2. 14039

  3. [root@l2 ~]#

查看版本 
[root@l2 ~]# nginx -vnginx version: nginx/1.25.5
[root@l2 ~]# netstat -lntp | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14039/nginx: master//已在运行

升级

新版本升级:
tar -zxvf nginx-1.xx.xx.tar.gz 
cd nginx-1.xx.xx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
--with-http_ssl_module 

[root@l2 ~]# cd /opt/[root@l2 opt]# lsnginx-1.25.5 nginx-1.25.5.tar.gz nginx-1.26.0.tar.gz rh[root@l2 opt]# tar xf nginx-1.26.0.tar.gz[root@l2 opt]#[root@l2 opt]# lsnginx-1.25.5 nginx-1.26.0 rhnginx-1.25.5.tar.gz nginx-1.26.0.tar.gz[root@l2 opt]# cd nginx-1.26.0/[root@l2 nginx-1.26.0]#

[root@l2 nginx-1.26.0]# lsauto CHANGES.ru configure html man srcCHANGES conf contrib LICENSE README[root@l2 nginx-1.26.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module//做配置
[root@l2 nginx-1.26.0]# make -j 2//进行编译

​​​​​​​

nginx文件做个替换
[root@l2 objs]# cd /usr/local/nginx/sbin/[root@l2 sbin]# lsnginx[root@l2 sbin]# mv nginx nginx_old //做个备份[root@l2 sbin]#[root@l2 sbin]# cp /opt/nginx-1.26.0/objs/nginx ./[root@l2 sbin]# lsnginx nginx_old[root@l2 sbin]#[root@l2 sbin]# cd /opt/nginx-1.26.0/[root@l2 nginx-1.26.0]# lsauto CHANGES.ru configure html Makefile objs srcCHANGES conf contrib LICENSE man README[root@l2 nginx-1.26.0]#
 升级
[root@l2 sbin]# cd /opt/nginx-1.26.0/[root@l2 nginx-1.26.0]# lsauto CHANGES.ru configure html Makefile objs srcCHANGES conf contrib LICENSE man README[root@l2 nginx-1.26.0]# make upgrade //升级/usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successfulkill -USR2 `cat /usr/local/nginx/logs/nginx.pid`sleep 1test -f /usr/local/nginx/logs/nginx.pid.oldbinkill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`[root@l2 nginx-1.26.0]#

查看版本
[root@l2 nginx-1.26.0]# nginx -v
nginx version: nginx/1.26.0[root@l2 nginx-1.26.0]#[root@l2 nginx-1.26.0]# nginx -Vnginx version: nginx/1.26.0built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module[root@l2 nginx-1.26.0]#

  •  注:
  • mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old
  •  cp objs/nginx /usr/local/nginx/sbin/nginx
  • make upgrade  #要保证当前 nginx 进程是通过 /usr/local/nginx/sbin/nginx 启动的,而不是通过查找环境变量中那个 nginx 命令启动的
  • #或者先 killall nginx ,再/usr/local/nginx/sbin/nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/341538.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stable Diffusion: Lora篇

前面提到&#xff0c;在提示词中可以使用LoRA并设置权重。LoRA是Low-Rank Adaptation的简写&#xff0c;直译为轻量级微调&#xff0c;是一种通用的AI大模型微调技术&#xff0c;通过LoRA使用可以对Stable Diffusion模型输出进行微调型&#xff0c;更加随心所欲地实现定制华输出…

数据结构--双向链表

目录 一.链表的分类 二.双向链表的结构 三.双向链表的实现 1.初始化 2.尾插与头插 3.尾删与头删 4.在指定位置之后插入数据 查找函数 5.删除指定节点 6&#xff0c;销毁链表 四.完整代码 List.h List.c 一.链表的分类 链表的结构⾮常多样&#xff0c;以下情况组合起…

单列集合--ArryList、LinkedList、Set

使用IDEA进入某个类之后&#xff0c;按ctrlF12,或者alt数字7&#xff0c;可查看该实现类的大纲。 package exercise;import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.function.Consumer;public class Demo3 {public static void…

ShowDoc item_id 未授权SQL注入漏洞复现

0x01 产品简介 ShowDoc 是一个开源的在线文档协作平台,它支持Markdown、图片等多种格式,方便团队成员共同编辑和分享文档。企业常见使用场景是使用其进行接口文档、内部知识库管理。 0x02 漏洞概述 2024年6月,ShowDoc官方发布新版本修复了一个SQL注入漏洞。鉴于该漏洞无前…

基于三元组一致性学习的单目内窥镜里程计估计

文章目录 TCL: Triplet Consistent Learning for Odometry Estimation of Monocular Endoscope摘要方法实验结果 TCL: Triplet Consistent Learning for Odometry Estimation of Monocular Endoscope 摘要 单目图像中深度和姿态的估计对于计算机辅助导航至关重要。由于很难获…

6. MySQL 查询、去重、别名

文章目录 【 1. 数据表查询 SELECT 】1.1 查询表中所有字段使用 * 查询表的所有字段列出表的所有字段 1.2 查询表中指定的字段 【 2. 去重 DISTINCT 】【 3. 设置别名 AS 】3.1 为表指定别名3.2 为字段指定别名 【 5. 限制查询结果的条数 LIMIT 】5.1 指定初始位置5.2 不指定初…

映射网络驱动器自动断开的解决方法

如果将驱动器映射到网络共享&#xff0c;映射的驱动器可能会在定期处于非活动状态后断开连接&#xff0c;并且 Windows 资源管理器可能会在映射驱动器的图标上显示红色 X。&#xff0c;出现此行为的原因是&#xff0c;系统可以在指定的超时期限后断开空闲连接&#xff0c; (默认…

【Kubernetes】k8s的调度约束(亲和与反亲和)

一、调度约束 list-watch 组件 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面建立 Pod 和…

0基础学习Elasticsearch-使用Java操作ES

文章目录 1 背景2 前言3 Java如何操作ES3.1 引入依赖3.2 依赖介绍3.3 隐藏依赖3.4 初始化客户端&#xff08;获取ES连接&#xff09;3.5 发送请求给ES 1 背景 上篇学习了0基础学习Elasticsearch-Quick start&#xff0c;随后本篇研究如何使用Java操作ES 2 前言 建议通篇阅读再回…

c语言项目-贪吃蛇项目2-游戏的设计与分析

文章目录 前言游戏的设计与分析地图&#xff1a;这里简述一下c语言的国际化特性相关的知识<locale.h> 本地化头文件类项setlocale函数 上面我们讲到需要打印★&#xff0c;●&#xff0c;□三个宽字符找到这三个字符打印的方式有两种&#xff1a; 控制台屏幕的长宽特性&a…

语法分析-编译原理期末复习

自上而下的语法分析 自上而下语法分析法:或从开始符号出发,找最左推导;或从根开始,构造推导树。 自下而上语法分析法:从输入串开始,归约,直至文法开始符。 回溯分析法 产生回溯的原因:公共左因子(开始匹配上了,可能走错分枝)、左递归(不知道递归多少次)、空产生式。 …

【Git】分支管理 -- 详解

一、理解分支 分支就是科幻电影里面的平行宇宙&#xff0c;当你正在电脑前努力学习 C 的时候&#xff0c;另一个你正在另一个平行宇宙里努力学习 JAVA。 如果两个平行宇宙互不干扰&#xff0c;那对现在的你也没啥影响。不过&#xff0c;在某个时间点&#xff0c;两个平行宇宙…

解决 clickhouse jdbc 偶现 failed to respond 问题

背景 Clickhouse集群版本为 Github Clickhouse 22.3.5.5&#xff0c; clickhouse-jdbc 版本为 0.2.4。 问题表现 随着业务需求的扩展&#xff0c;基于Clickhouse 需要支持更多任务在期望的时效内完成&#xff0c;于是将业务系统和Clickhouse交互的部分都提交给可动态调整核心…

InfiniGate自研网关实现思路七

25.网关Nginx负载模型配置 通过模拟多个HTTP服务配置到 Nginx 做负载均衡&#xff0c;以学习API网关负载的配置和使用 API 网关是用于支撑分布式 RPC 接口协议转换提供 HTTP 调用的一套服务&#xff0c;那么 API 网关系统就需要可横向扩展来满足系统的吞吐量诉求。所以这里需…

HTML如何让文字底部线条不紧贴在文字下面(既在内容下方又超出内容区域)

hello&#xff0c;大家好&#xff0c;星途星途今天给大家带来的内容是如何让文字底部线条不紧贴在文字下面。 话不多说&#xff0c;先上效果图 简单来说就是padding和margin的区别。 在网页设计中&#xff0c;有时我们想要给某个元素添加一个装饰性的线条&#xff0c;比如底部…

Python实现定时任务的方式

大家好&#xff0c;在当今数字化的时代&#xff0c;定时任务的需求在各种应用场景中频繁出现。无论是数据的定时更新、周期性的任务执行&#xff0c;还是特定时间点的操作触发&#xff0c;Python 都为我们提供了强大而灵活的手段来实现这些定时任务。当我们深入探索 Python 的世…

美国年轻人热衷床上“摆烂”,沃尔玛发掘床上用品新商机!

美国年轻人近年来热衷于床上“摆烂”生活方式&#xff0c;这反映了他们对舒适放松的追求和现代生活的压力。沃尔玛作为零售业巨头&#xff0c;敏锐地捕捉到这一市场变化&#xff0c;发现了床上用品的新商机。 美国年轻人忙碌中渴望宁静空间。床成为他们放松、逃离现实压力的理想…

计算机网络学习笔记——运输层(b站)

目录 一、 运输层概述 二、运输层端口号、复用与分用的概念 三、UDP和TCP的对比 四、TCP的流量控制 五、TCP的拥塞控制 六、TCP超时重传时间的选择 七、TCP可靠传输的实现 八、TCP报文段的首部格式 一、 运输层概述 物理层、数据链路层、网络层实现了主机到主机的通信…

【MySQL】表的基本操作

&#x1f30e;表的基本操作 文章目录&#xff1a; 表的基本操作 创建查看表       创建表       查看表结构 表的修改       表的重命名       表的添加与修改       删除表结构 总结 前言&#xff1a; 在数据库中&#xff0c;数据表是存储和组…