升级注意保留历史版本这样可以及时切换,将新版本的编译在新的文件夹中
1、下载nginx 版本
wget http://nginx.org/download/nginx-1.20.1.tar.gz
2、移动到 /usr/local
mv nginx-1.20.1.tar.gz /usr/local/
cd /usr/local/
3、解压
tar xzf nginx-1.20.1.tar.gz
4、切换到root 权限,通过root权限进行编译
sudo -i
cd nginx-1.20.1
5、编译
./configure --prefix=/usr/local/nginx1.20/ && make && make install && echo Ok.
6、如果缺少模块重新编译
./configure --prefix=/usr/local/nginx1.20/ --with-http_stub_status_module --with-http_ssl_module && make && make install && echo Ok.
7、校验配置文件,并启动
/usr/local/nginx1.20/sbin/nginx -t -c /etc/nginx/nginx.conf
/usr/local/nginx1.20/sbin/nginx -c /etc/nginx/nginx.conf
如果yum 安装模块,没有外网注意修改yum 源
/etc/yum.conf
或
/etc/yum.repos.d/
文件内容
#proxy=http://xxxx
如果下载没有外网设置代理
export https_proxy=https://xxxx
export http_proxy=http://xxxx
遇到问题 ,最新版本的nginx需要使用最新版本openssl
cd /usr/local/src/
# 下载最新的openssl
sudo wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
sudo tar zxfv openssl-1.1.1k.tar.gz
# 重新编译并指定 --with-openssl=/usr/local/src/openssl-1.1.1k
cd /usr/local/nginx-1.20.1/
./configure --prefix=/usr/local/nginx1.20/ --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.1.1k && make && make install && echo Ok.
如下:编译成功
......
test -f '/usr/local/nginx1.20//conf/nginx.conf' \
|| cp conf/nginx.conf '/usr/local/nginx1.20//conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx1.20//conf/nginx.conf.default'
test -d '/usr/local/nginx1.20//logs' \
|| mkdir -p '/usr/local/nginx1.20//logs'
test -d '/usr/local/nginx1.20//logs' \
|| mkdir -p '/usr/local/nginx1.20//logs'
test -d '/usr/local/nginx1.20//html' \
|| cp -R html '/usr/local/nginx1.20/'
test -d '/usr/local/nginx1.20//logs' \
|| mkdir -p '/usr/local/nginx1.20//logs'
make[1]: Leaving directory `/usr/local/nginx-1.20.1'
Ok.