nginx平滑升级

nginx平滑升级

二进制安装ngingx

//关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

//安装依赖环境
[root@localhost ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++

[root@localhost ~]# yum -y groups mark install 'Development Tools'

//创建系统用户nginx
[root@localhost ~]# useradd -r -M -s /sbin/nologin nginx

//创建日志存放目录
[root@localhost ~]# mkdir -p /var/log/nginx
[root@localhost ~]# chown -R nginx.nginx /var/log/nginx
[root@localhost ~]# id nginx
uid=973(nginx) gid=972(nginx)=972(nginx)

//下载nginx
[root@localhost ~]# wget -c http://nginx.org/download/nginx-1.20.1.tar.gz
--2021-06-23 06:39:02--  http://nginx.org/download/nginx-1.20.1.tar.gz
正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
正在连接 nginx.org (nginx.org)|3.125.197.172|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1061461 (1.0M) [application/octet-stream]
正在保存至: “nginx-1.20.1.tar.gz”

nginx-1.20.1.tar.gz      100%[================================>]   1.01M  22.0KB/s  用时 32s     

2021-06-23 06:39:34 (32.4 KB/s) - 已保存 “nginx-1.20.1.tar.gz” [1061461/1061461])

[root@localhost ~]# ls
  anaconda-ks.cfg       nginx-1.20.1.tar.gz
  initial-setup-ks.cfg
[root@localhost ~]# tar xf nginx-1.20.1.tar.gz 
[root@localhost ~]# ls
  anaconda-ks.cfg       nginx-1.20.1
 initial-setup-ks.cfg  nginx-1.20.1.tar.gz

[root@localhost ~]# cd nginx-1.20.1/
编译安装nginx
[root@localhost nginx-1.20.1]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log


//查看内核
[root@localhost nginx-1.20.1]# nproc
2
//使用两个内核去安装
[root@localhost nginx-1.20.1]# make -j 2
[root@localhost nginx-1.20.1]# make install

//配置环境变量
[root@localhost ~]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@localhost ~]# source /etc/profile.d/nginx.sh


//启动nginx
[root@localhost ~]# nginx
[root@localhost ~]# ss -antl
State     Recv-Q    Send-Q         Local Address:Port         Peer Address:Port    Process    
LISTEN    0         128                  0.0.0.0:80                0.0.0.0:*                  
LISTEN    0         128                  0.0.0.0:22                0.0.0.0:*                  
LISTEN    0         128                     [::]:22                   [::]:*    

升级、添加echo功能

//查看nginx安装了哪些功能
[root@localhost ~]# nginx -V
nginx version: nginx/1.20.1
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-2) (GCC) 
built with OpenSSL 1.1.1k  FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log


//下载echo功能的包和nginx的包
[root@localhost ~]# yum -y install git
[root@localhost ~]# wget https://nginx.org/download/nginx-1.20.1.tar.gz
[root@localhost ~]# git clone https://github.com/openresty/echo-nginx-module.git
[root@localhost ~]# tar xf nginx-1.20.1.tar.gz 
[root@localhost ~]# ls
anaconda-ks.cfg  echo-nginx-module  nginx-1.20.1  nginx-1.20.1.tar.gz

//升级nginx
[root@localhost ~]# cp /usr/local/nginx/sbin/nginx{,-bak}
[root@localhost ~]# cd nginx-1.20.1/
[root@localhost ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --add-module=../echo-nginx-module
[root@localhost nginx-1.20.1]# make
[root@localhost nginx-1.20.1]# make install
[root@localhost nginx-1.20.1]# pkill nginx;\cp objs/nginx /usr/local/nginx/sbin/;nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

[root@localhost nginx-1.20.1]# nginx -V
nginx version: nginx/1.20.1
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-2) (GCC) 
built with OpenSSL 1.1.1k  FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --add-module=../echo-nginx-module

测试

[root@localhost nginx-1.20.1]# vim /usr/local/nginx/conf/nginx.conf
        location /test {
            echo "test";
        }
        
[root@localhost nginx-1.20.1]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.20.1]# nginx -s reload
[root@localhost nginx-1.20.1]# curl 192.168.147.66/test
test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值