nginx升级

下面是nginx升级操作的过程记录

含有两个nginx相关文件夹,一个包含sbin的为可执行文件夹,另一个为nginx升级包解压的文件夹。

1.lunix命令进入到/home/infra/ng/nginx/sbin/目录下
2.lunix命令查看版本号:
./nginx -V

3:会出现如下编译信息:
nginx version: nginx/1.9.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
configure arguments: --prefix=/home/infra/ng/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi

4:下载nginx升级包nginx-1.10.3.tar.gz

5:解压升级包nginx-1.10.3.tar.gz后文件夹为nginx-1.10.3

6:lunix命令进入到/home/infra/ng/nginx-1.10.3/后
输入命令 ./configure --prefix=/home/infra/ng/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi&&make

注意:./configure 后面的内容为之前版本的编译信息,末尾加上&&make 为编译命令,不能用make install

7:在/home/infra/ng/nginx-1.10.3/目录下会生成一个obj文件夹,将/home/infra/ng/nginx-1.10.3/objs/nginx文件替换进可执行文件夹下的/home/infra/ng/nginx/sbin/nginx,注意备份/home/infra/ng/nginx/sbin/nginx 为/home/infra/ng/nginx/sbin/nginx_old

8:lunix命令重启nginx,进入到/home/infra/ng/nginx/sbin文件夹下:
./nginx -s reload

9:查看版本信息(必须在sbin下执行):

./nginx -h 或者 ./nginx -V

10:验证配置文件是否正确(sbin):

./nginx -t
成功:
nginx: the configuration file /home/infra/ng/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /home/infra/ng/nginx/conf/nginx.conf test is successful

11:查看当前nginx进程(sbin):

ps -ef|grep nginx 或者 ps -C nginx -o pid


12:通用配置项:
--prefix=<path>:Nginx 安装的根路径,所有其他的路径都要依赖于该选项。

--sbin-path=<path>:指定 Nginx 二进制文件的路径。如果没有指定,那么这个路径会依赖于 --prefix 选项。

--conf-path=<path>:如果在命令行没有指定配置文件,那么将会通过这里指定路径,Nginx 将会去那里查找它的配置文件。

--error-log-path=<path>:指定错误文件的路径,Nginx 将会往其中写入错误日志文件,除非有其他的配置。

--pid-path=<path>:指定的文件将会写入 Nginx master 进程的 pid,通常在 /var/run 下。

--lock-path=<path>:共享存储器互斥锁文件的路径。

--user=<user>:worker 进程运行的用户。

--group=<group>:worker 进程运行的组。

--with-file-aio:为 FreeBSD 4.3+ 和 Linux 2.6.22+ 系统启用异步 I/O。

--with-debug:这个选项用于启用调试日志。在生产环境的系统中不推荐使用该选项

转载于:https://www.cnblogs.com/sjqyao/p/10790315.html

### Nginx 升级指南与版本更新配置步骤 Nginx 的平滑升级是一种在不中断服务的情况下完成版本更新的技术。以下是详细的升级流程和关键点: #### 一、准备工作 在开始升级之前,确保服务器处于稳定状态,并备份当前的 Nginx 配置文件以及相关日志文件。此外,还需要确认当前运行的 Nginx 版本及其编译参数[^1]。 ```bash nginx -v nginx -V ``` 通过 `nginx -V` 命令可以查看当前 Nginx 的编译参数,这些参数在编译新版本时需要保持一致或根据需求调整[^3]。 #### 二、下载并编译新版本 Nginx官方站点下载目标版本的 Nginx 源码包,并解压到指定目录。使用与旧版本相同的编译参数进行编译[^1]。 ```bash wget http://nginx.org/download/nginx-1.xx.xx.tar.gz 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 make ``` #### 三、替换二进制文件 编译完成后,将生成的新二进制文件复制到当前运行的 Nginx 安装路径中,覆盖旧的二进制文件[^1]。 ```bash mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak cp objs/nginx /usr/local/nginx/sbin/ ``` #### 四、验证配置文件 在执行升级操作前,建议先验证配置文件是否正确,以避免升级后因配置错误导致服务异常[^1]。 ```bash nginx -t ``` 如果配置文件无误,则继续下一步。 #### 五、发送信号完成平滑升级 通过向主进程发送信号实现平滑升级,具体步骤如下: 1. **发送 USR2 信号**:启动新的 Nginx 主进程,同时保留旧的主进程。 ```bash kill -USR2 $(cat /usr/local/nginx/logs/nginx.pid) ``` 2. **发送 WINCH 信号**:通知旧的工作进程逐步退出,但不会立即终止请求处理。 ```bash kill -WINCH $(cat /usr/local/nginx/logs/nginx.pid.oldbin) ``` 3. **发送 QUIT 信号**:完全停止旧的工作进程及主进程。 ```bash kill -QUIT $(cat /usr/local/nginx/logs/nginx.pid.oldbin) ``` #### 六、验证升级结果 检查当前运行的 Nginx 版本,确保已成功升级至目标版本[^1]。 ```bash nginx -v ps aux | grep nginx ``` #### 七、回滚方案 如果升级后发现问题,可以通过以下步骤快速回滚到旧版本: 1. 将备份的旧二进制文件恢复。 2. 重新加载 Nginx 配置。 ```bash cp /usr/local/nginx/sbin/nginx.bak /usr/local/nginx/sbin/nginx nginx -s reload ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值