帮助中心

这里有最新的使用文档和教程

< 返回

Centos下Nginx版本如何平滑升级与回滚?

2023-03-26 23:16 作者:31IDC 阅读量:782 所属分类:Linux系统

Centos下Nginx版本如何平滑升级与回滚?nginx升级,nginx怎么升级?centos升级nginx

Centos下Nginx版本如何平滑升级与回滚?

操作系统:CentOS 7.x

准备篇

一、防火墙配置

CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl mask firewalld

systemctl stop firewalld

yum remove firewalld

2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三 、系统约定

软件源代码包存放位置:/usr/local/src

源码包编译安装位置:/usr/local/软件名字

四、下载软件包

1、下载nginx

http://nginx.org/download/nginx-1.18.0.tar.gz

http://nginx.org/download/nginx-1.22.0.tar.gz

2、下载pcre(支持nginx伪静态)

https://ftp.exim.org/pub/pcre/pcre-8.45.tar.gz

3、下载zlib(nginx扩展)

https://zlib.net/zlib-1.2.12.tar.gz

4、下载openssl(适用于nginx扩展https)

https://www.openssl.org/source/openssl-1.1.1q.tar.gz

5、下载ngx_cache_purge(nginx缓存模块)

http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

以上软件包上传到/usr/local/src目录

五、安装编译工具包

yum install make gcc gcc-c++ perl zlib-devel

安装篇

一、安装Nginx

1、安装pcre

cd /usr/local/src

mkdir /usr/local/pcre

tar zxvf pcre-8.45.tar.gz

cd pcre-8.45

./configure --prefix=/usr/local/pcre

make

make install

2、安装zlib

cd /usr/local/src

mkdir /usr/local/zlib

tar zxvf zlib-1.2.12.tar.gz

cd zlib-1.2.12

./configure --prefix=/usr/local/zlib

make

make install

3、安装openssl

cd /usr/local/src

mkdir /usr/local/openssl

tar zxvf openssl-1.1.1q.tar.gz

cd openssl-1.1.1q

./config -fPIC shared zlib --prefix=/usr/local/openssl

make

make install

4、安装Nginx

groupadd www

useradd -g www www -s /bin/false

cd /usr/local/src

tar zxvf ngx_cache_purge-2.3.tar.gz

tar zxvf nginx-1.18.0.tar.gz

cd nginx-1.18.0

./configure --prefix=/usr/local/nginx --user=www --group=www --without-http_memcached_module --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_realip_module --with-stream  --with-openssl=/usr/local/src/openssl-1.1.1q --with-zlib=/usr/local/src/zlib-1.2.12 --with-pcre=/usr/local/src/pcre-8.45 --add-module=../ngx_cache_purge-2.3

注意:--with-openssl=/usr/local/src/openssl-1.1.1q --with-zlib=/usr/local/src/zlib-1.2.12 --with-pcre=/usr/local/src/pcre-8.45指向的是源码包解压的路径,而不是安装的路径,否则会报错。

make

make install

/usr/local/nginx/sbin/nginx #启动Nginx

#查看nginx版本和安装模块信息

/usr/local/nginx/sbin/nginx -V

二、平滑升级nginx版本

1、备份旧版nginx

cp -r /usr/local/nginx /usr/local/nginx.bak

2、查看旧版编译信息

31IDC - 12 年深耕海外 IDC 高端资源