首页 > 系统相关 >Nginx分布式框架详解-基础18-21nginx服务升级

Nginx分布式框架详解-基础18-21nginx服务升级

时间:2022-08-14 11:34:44浏览次数:56  
标签:1.14 Nginx 18 nginx 21nginx usr local 目录

nginx服务的命令行控制

  1. 此方式是通过 Nginx 安装目录下的 sbin 下的可执行文件 nginx(文件名) 来进行对 Nginx 状态的控制,我们可以通过 nginx -h 来查看都有哪些参数可以用
cd /usr/local/nginx/sbin
./nginx -h
选项 作用
-? 和 -h 显示帮助信息
-v 打印版本号信息并退出
-V 打印版本号信息和配置信息并退出
-t 测试 Nginx 的配置文件语法是否正确并退出
-T 测试 Nginx 的配置文件语法是否正确并列出用到的配置文件信息然后退出
-q 在配置测试期间过滤掉非错误消息,只输出错误信息,一般这样用:./nginx -tq
-s signal 信号,后面的命令和服务信号控制功能类似: stop:快速关闭,类似于 TERM/INT 信号的作用 quit:优雅的关闭,类似于 QUIT 信号的作用 reopen:重新打开日志文件类似于 USR1 信号的作用 reload:重启 Nginx,类似于 HUP 信号的作用
-p prefix,指定 Nginx 的默认安装路径,(默认为:/usr/local/nginx/)
-c filename,指定 Nginx 的配置文件路径,(默认为:conf/nginx.conf)
-g 用来补充 Nginx 配置文件,向 Nginx 服务指定启动时应用全局的配置
  1. -c的使用案例
cp /usr/local/nginx/conf/nginx.conf /usr/local/abc.conf
cd /usr/local/nginx/sbin
./nginx -tc /usr/local/abc.conf

# 当然启动nginx的时候也可以指定配置文件路径
./nginx -c /usr/local/abc.conf

一般情况下-c和-t是配合着使用的。

  1. -g 的使用案例
# 关闭nginx
./nginx -s quit
# 开启nginx
./nginx -g "pid logs/abc.pid;"
# 查看logs目录
ls /usr/local/nginx/logs
# 停止nginx
./nginx -s stop
# 报错
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
# 查出进程号
ps -ef|grep nginx
# 通过信号关闭
kill -INT 2086

nginx服务器版本升级需求分析

  1. 如果想对 Nginx 的版本进行更新,或者要应用一些新的模块,最简单的做法就是停止当前的 Nginx 服务,然后开启新的 Nginx 服务。但是这样会导致在一段时间内,用户是无法访问服务器。为了解决这个问题,我们就需要用到 Nginx 服务器提供的平滑升级功能。这个也是 Nginx 的一大特点,使用这种方式,就可以使 Nginx 在 7 * 24 小时不间断的提供服务了。接下来我们分析下需求:
需求:Nginx 的版本最开始使用的是 Nginx-1.14.2,由于服务升级,需要将 Nginx 的版本升级到 Nginx-1.16.1,要求 Nginx 不能中断提供服务。

为了应对上述的需求,这里我们提供两种解决方案:

  • 使用 Nginx 服务信号完成 Nginx 的升级
  • 使用 Nginx 安装目录的 make 命令完成升级
    版本升级其实就是替换可执行文件 nginx。
  1. 环境准备
    先准备两个版本的 Nginx 分别是 1.14.2 和 1.16.1
    使用 Nginx 源码安装的方式将 1.14.2 版本安装成功并正确访问
# 解压 1.14.2 版本
tar -xzf nginx-1.14.2.tar.gz
# 进入解压目录
cd nginx-1.14.2/

# 执行配置文件
./configure

# 编译安装
make && make install

将 Nginx 1.16.1 版本进行参数配置和编译,不需要进行安装。

# 解压 1.16.1 版本
tar -xzf nginx-1.16.1.tar.gz
# 进入解压目录
cd nginx-1.16.1/

# 执行配置文件
./configure

# 仅仅编译
make 

使用nginx服务信号进行升级

第一步:将 1.14.2 版本的 sbin 目录下的 nginx 进行备份
不是复制一份,是直接修改原来的 nginx。

# 进入 sbin 目录下
cd /usr/local/nginx/sbin

# 备份为 nginxold 文件
mv nginx nginx.backup

第二步:将 Nginx 1.16.1 安装目录编译后的 objs 目录下的 nginx 文件,拷贝到原来 /usr/local/nginx/sbin 目录下

如果第一步没有备份,那么将会覆盖 1.14.2 的 nginx 文件

# 进入 objs 目录
cd ~/nginx/core/nginx-1.16.1/objs

# 拷贝可执行文件到原来的目录
cp nginx /usr/local/nginx/sbin

第三步:发送信号 USR2 给 Nginx 的 1.14.2 版本对应的 master 进程
kill -USR2 cat /usr/local/nginx/logs/nginx.pid 第四步:发送信号 QUIT 给 Nginx 的 1.14.2 版本对应的 master 进程 `kill -QUIT `cat /usr/local/logs/nginx.pid.oldbin

nginx使用make命令升级

  • 使用Nginx安装目录的make命令完成升级操作
    第一步和第二部和上面一样,不在赘述
    第三步:进入到安装目录,执行 make upgrade
cd /root/nginx-1.22.0
make upgrade

第四步:查看是否更新成功
/usr/local/nginx/sbin/nginx -v

在整个过程中,其实 Nginx 是一直对外提供服务的。并且当 Nginx 的服务器启动成功后,我们是可以通过浏览器进行直接访问的,同时我们可以通过更改 html 目录下的页面来修改我们在页面上所看到的内容,那么问题来了,为什么我们要修改 html 目录下的文件,能不能多添加一些页面是 Nginx 的功能更加丰富,还有前面聊到 Nginx 的前端功能又是如何来实现的,这就需要我们对 Nginx 的核心配置文件 进行一个详细的学习。

标签:1.14,Nginx,18,nginx,21nginx,usr,local,目录
From: https://www.cnblogs.com/mayanan/p/16584781.html

相关文章

  • 【MIT18.06·线性代数01】过去对线性方程组的理解
    如何理解一个线性方程组?考虑这样一个方程组:\(\left\{\begin{matrix}\begin{aligned}2x-y&=0\\-x+2y&=3\end{aligned}\end{matrix}\right.\)在之前的理解方式中,求......
  • 18.现在分词
    1.现在分词的构成和特征  现在分词一般由“动词原形+a“构成,及物动词的理左分词可以带宾语,也可以被状语修饰。不及物动词的现在分词不可以直接写宾语,但可以被状语修......
  • CF 1600~1800 思维题泛做
    CF1592CBakryandPartitioning给定一棵\(n\)个节点,每个节点有点权的树,最多拆成\(k\)个连通块,问是否有方案使得所有联通块的异或和相等。\(n,k\le10^5,a_i\l......
  • NC21467 [NOIP2018]货币系统
    题目链接题目题目描述在网友的国度中共有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为n、面额数组为a[1..n]的......
  • 层次分明井然有条,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang包管理机制(package)EP
    Golang使用包(package)这种概念元素来统筹代码,所有代码功能上的可调用性都定义在包这个级别,如果我们需要调用依赖,那就“导包”就行了,无论是内部的还是外部的,使用import关键......
  • nginx的日志切割-每天定时脚本执行
    日志切割时企业中常规动作,我们不会每天去手工执行一遍命令,通常是让脚本自己执行,于是我们可以将这个动作写进任务计划,每天凌晨自动执行。#!/usr/bin/bashs_log="/usr/l......
  • 在 Ubuntu18.04集成Zeek与ELK
    Elasticsearch:一个分布式RESTful搜索引擎,用于存储所有收集的数据。Logstash:ElasticStack的数据处理组件,用于将传入数据发送到Elasticsearch。Kibana:用于搜索和可视......
  • U盘安装ubuntu18.04 LTS图文详细过程(转)
    原文:https://blog.csdn.net/u014453443/article/details/88049804制作U盘引导盘,安装Ubuntu18.04LTS系统一、下载Ubuntu18.04LTS系统的iso文件镜像下载地址https://ww......