用jsp做的网站首页手机怎么修改网页内容
文章目录
- Nginx平滑升级&重定向rewrite
 - nginx平滑升级
 - 流程
 - 环境
 - 查看旧版的配置信息
 - 下载新版nginx源码包和功能模块包
 - 编译配置新版本
 - 平滑升级
 - 验证
 
- 重定向rewrite
 - 配置重定向准发
 - 访问测试
 
Nginx平滑升级&重定向rewrite
nginx平滑升级
流程
平滑升级:
 (升级版本、增加新功能)
 1.获取老版本的编译信息
 2.老版本备份
 3.编译新版本或者新功能(不能执行make install)
 4.手动替换新版本并重启
 5.验证新版本
环境
| 操作系统 | 旧版本 | 新版本 | 新加功能 | 
|---|---|---|---|
| centos-8 | nginx-1.22.1 | nginx-1.24.0 | echo-nginx-module | 
部署nginx请阅读nginx服务和LNMP架构&部署Discuz论坛系统
查看旧版的配置信息
升级的同时要保留旧版的功能,所以要查看详细的编译信息
//查看当前版本nginx的详细信息,记住旧版的编译信息
[root@wanf ~]# nginx -V
nginx version: nginx/1.22.1
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (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
[root@wanf ~]# 
 
下载新版nginx源码包和功能模块包
Nginx官网
GitHub官网
//下载新版nginx源码包
[root@wanf ~]# wget http://nginx.org/download/nginx-1.24.0.tar.gz -P /usr/src/
[root@wanf ~]# ls /usr/src/
debug    nginx-1.22.1         nginx-1.24.0.tar.gz  php-8.2.10.tar.gz
kernels  nginx-1.22.1.tar.gz  php-8.2.10//在GitHub下载模块代码
[root@wanf ~]# yum -y install git
[root@wanf ~]# git clone https://github.com/openresty/echo-nginx-module.git
[root@wanf ~]# mv echo-nginx-module/ /usr/src/
[root@wanf ~]# ls /usr/src/
debug              kernels       nginx-1.22.1.tar.gz  php-8.2.10
echo-nginx-module  nginx-1.22.1  nginx-1.24.0.tar.gz  php-8.2.10.tar.gz
[root@wanf ~]# 
 
编译配置新版本
//备份旧版nginx主程序
[root@wanf ~]# cp /usr/local/nginx/sbin/nginx /opt/nginx-buckup-20231019
[root@wanf ~]# ls /opt/
nginx-buckup-20231019//复制旧版的编译参数,并加上新的功能模块,进行编译
[root@wanf ~]# cd /usr/src/
[root@wanf src]# ls
debug              kernels       nginx-1.22.1.tar.gz  php-8.2.10
echo-nginx-module  nginx-1.22.1  nginx-1.24.0.tar.gz  php-8.2.10.tar.gz
[root@wanf src]# tar -xf nginx-1.24.0.tar.gz 
[root@wanf src]# cd nginx-1.24.0/
[root@wanf nginx-1.24.0]# ./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/
(配置过程省略)//编译新版本(只执行make,不执行make install)
[root@wanf nginx-1.24.0]# make
(编译过程省略)
 
平滑升级
先关闭旧版nginx服务,然后把新编译的nginx主程序替换掉旧版,再启动服务即可
//新版nginx主程序文件,/opjs/nginx就是主程序
[root@wanf nginx-1.24.0]# ls
auto     CHANGES.ru  configure  html     Makefile  objs    src
CHANGES  conf        contrib    LICENSE  man       README
[root@wanf nginx-1.24.0]# ls objs/
addon         Makefile  nginx.8            ngx_auto_headers.h  ngx_modules.o
autoconf.err  nginx     ngx_auto_config.h  ngx_modules.c       src
[root@wanf nginx-1.24.0]# //平滑升级。停止服务,替换文件,启动服务要一步执行完。否则可能导致升级失败。
[root@wanf nginx-1.24.0]# cd objs/
[root@wanf objs]# systemctl stop nginx;\cp nginx /usr/local/nginx/sbin/nginx;systemctl start nginx
 
验证
//端口号80已经启动
[root@wanf objs]# ss -anlt
State   Recv-Q  Send-Q    Local Address:Port     Peer Address:Port  Process  
LISTEN  0       128           127.0.0.1:9000          0.0.0.0:*              
LISTEN  0       511             0.0.0.0:80            0.0.0.0:*              
LISTEN  0       128             0.0.0.0:22            0.0.0.0:*              
LISTEN  0       80                    *:3306                *:*              
LISTEN  0       128                [::]:22               [::]:*              //已经升级为新版nginx-1.24.0
[root@wanf objs]# nginx -v
nginx version: nginx/1.24.0     
[root@wanf objs]# //测试新添加的echo功能
//修改配置文件
[root@wanf ~]# vim /usr/local/nginx/conf/nginx.conf
......
location /status {echo "hallo wanf";stub_status on;allow 192.168.179.0/24;deny all;}
......//测试配置文件语法;语法没有报错
[root@wanf ~]# 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@wanf ~]# 
 
升级成功
重定向rewrite
以下是拿Discuz论坛系统做案例
假设原来的域名是www.wanf2.com,但是公司换了新的域名为www.wanf1.com,那么用户使用旧域名就无法访问到论坛系统
LNMP架构部署论坛系统请阅读LNMP架构&部署Discuz论坛系统
旧域名无法访问


使用新域名可以访问
配置重定向准发
为了用户体验,需要做一个转发,让用户访问旧域名的时候,会跳转到新域名
//修改配置文件,在旧域名的虚拟主机里面添加一个转发
[root@wanf ~]# vim /usr/local/nginx/conf/nginx.conf
......server {listen       80;server_name  www.wanf2.com;location / {root   html;index  index.php index.html index.htm;rewrite ^/(.*)$ http://www.wanf1.com/$1 break;   //添加此行,改为新域名}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;include        fastcgi.conf;}}
......//重启服务
[root@wanf ~]# systemctl restart nginx.service 
[root@wanf ~]# systemctl restart php-fpm.service 
 
访问测试
访问旧域名,自动跳转访问新域名


访问新域名,直接可以访问

