nginx 升级 1.23.0

PS :用户和主目录默认是 /isearch ,具体以现场实际情况为准,这里以 /isearch 为例

1. 备份

1、进入isearch目录
  cd /isearch
  tar -zcvf nginx-1.17.8-0719-bak.tar.gz nginx-1.17.8
  tar -zcvf pcre-8.38-0719-bak.tar.gz pcre-8.38
  tar -zcvf zlib-1.2.8-0719-bak.tar.gz zlib-1.2.8
  cd /isearch/isa/conf
  mv nginx nginx-0719-bak

2. 升级


## nginx停止服务
  /isearcb/bin/nginx.sh stop

## 创建目录
  rm -rf /isearch/tmp_build
  mkdir -p /isearch/tmp_build

## 上传文件
  将 pcre-8.38.tar.gz、 zlib-1.2.8.tar.gz、 nginx-upload-module-2.3.0.tar.gz、nginx-1.23.0.tar.gz 上传到 /isearch/tmp_build 目录

## 解压安装包
  cd /isearch/tmp_build
  tar -zxvf nginx-upload-module-2.3.0.tar.gz
  tar -zxvf nginx-1.23.0.tar.gz
  tar -zxvf zlib-1.2.8.tar.gz
  tar -zxvf pcre-8.38.tar.gz

## 清理历史版本
  cd /isearch
  rm -rf pcre-8.38
  rm -rf zlib-1.2.8
  rm -rf nginx-1.17.8
  rm -rf nginx

## 编译安装
  pcre 编译安装
  cd /isearch/tmp_build/pcre-8.38
  chmod +x configure
  sh configure --prefix=/isearch/pcre-8.38
  make
  make install

  zlib 编译安装
  cd /isearch/tmp_build/zlib-1.2.8
  chmod +x configure
  sh configure --prefix=/isearch/zlib-1.2.8
  make
  make install

  nginx 编译安装
  cd /isearch/tmp_build/nginx-1.23.0
  chmod +x configure
  
  sh configure --prefix=/isearch/nginx-1.23.0 --with-http_stub_status_module  --with-http_ssl_module  --with-pcre=/isearch/tmp_build/pcre-8.38 --with-zlib=/isearch/tmp_build/zlib-1.2.8 --conf-path=/isearch/isa/conf/nginx/nginx.conf    --pid-path=/isearch/isa/conf/nginx/nginx.pid --add-module=/isearch/tmp_build/nginx-upload-module-2.3.0
  
  make
  make install


## 修改软连接
  cd /isearch
  ln -s nginx-1.23.0 nginx

## 复制配置文件
  mkdir -p /isearch/isa/conf/nginx/ssl
  cp -rf /isearch/isa/conf/nginx-0719-bak/nginx.conf /isearch/isa/conf/nginx/
  cp -rf /isearch/isa/conf/nginx-0719-bak/404.html /isearch/isa/conf/nginx/
  cp -rf /isearch/isa/conf/nginx-0719-bak/ssl/* /isearch/isa/conf/nginx/ssl/


##切换root用户操作以下内容
  建立软连接
	ll /lib64/libpcre.so.1 看是否存在,不存在,执行下面一步,否则不执行。
	ln -s /lib64/libpcre.so.1.2.0 /lib64/libpcre.so.1

##端口授权启动
setcap cap_net_bind_service=+eip /isearch/nginx/sbin/nginx

##切回nginx用户操作。
nginx.sh start

##nginx 启动提示端口占用,杀掉nginx 进程重新启动。
ps -ef|grep nginx
kill -9 pid