420 字
2 分钟
centos6升级nginx
安装新版本openssl
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -xzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl-1.1.1w --openssldir=/usr/local/openssl-1.1.1t shared zlibmake -j 2make install安装新版本gcc环境
先更新还在支持centos6的yum.repo
sudo tee /etc/yum.repos.d/CentOS-Vault.repo <<EOF[base]name=CentOS-6 - Basebaseurl=http://vault.centos.org/6.10/os/x86_64/enabled=1gpgcheck=0
[updates]name=CentOS-6 - Updatesbaseurl=http://vault.centos.org/6.10/updates/x86_64/enabled=1gpgcheck=0
[extras]name=CentOS-6 - Extrasbaseurl=http://vault.centos.org/6.10/extras/x86_64/enabled=1gpgcheck=0
[centos-sclo-rh]name=CentOS-6 - SCLo rhbaseurl=http://vault.centos.org/6.10/sclo/x86_64/rh/enabled=1gpgcheck=0
[centos-sclo-sclo]name=CentOS-6 - SCLo sclobaseurl=http://vault.centos.org/6.10/sclo/x86_64/sclo/enabled=1gpgcheck=0EOF
sudo yum clean allsudo yum makecache安装devetoolset-9 为nginx编译启用gcc新版本
# 安装devtoolset-9sudo yum install devtoolset-9 -y# 启用 gcc 9scl enable devtoolset-9 bash# 验证gcc -v
#如果没有切换成功执行:source /opt/rh/devtoolset-9/enable
# 再次检测成功输出gcc version 9.1.1 20190605 (Red Hat 9.1.1-2) (GCC)安装新版本luajit
### 最保险方式 → 用OpenResty官方LuaJIT2重新编译 LuaJIT,用 openresty 维护的版本:
git clone https://github.com/openresty/luajit2.gitcd luajit2make && make install PREFIX=/usr/local/luajit
sudo make install
# 完整设置环境变量export LUAJIT_LIB=/usr/local/luajit/libexport LUAJIT_INC=/usr/local/luajit/include/luajit-2.1export LD_LIBRARY_PATH=/usr/local/luajit/lib:$LD_LIBRARY_PATHexport PATH=/usr/local/luajit/bin:$PATHexport PKG_CONFIG_PATH=/usr/local/luajit/lib/pkgconfig
# 检测是否支持FFIluajit -e "local ffi = require('ffi'); print('FFI is available')"安装新版本pcre
wget wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download -O pcre-8.45.tar.gz
tar -xzf pcre-8.45.tar.gz
cd pcre-8.45
./configure --prefix=/usr/local/pcre-8.45
make && sudo make install下载nginx-1.26.3
wget https://nginx.org/download/nginx-1.26.3.tar.gztar xzf nginx-1.26.3.tar.gzcd nginx-1.26.3mkdir expcd exp下载扩展
# 在exp目录下git clone -b v0.3.1 https://github.com/vision5/ngx_devel_kit.git
git clone -b v0.10.25 https://github.com/openresty/lua-nginx-module.git编译
# 可以添加 -O3 -march=native 让nginx性能更好,但要考虑cpu架构的兼容性-O3 -march=native
./configure \--prefix=/usr/local/nginx-1.26.3 \--with-http_v2_module \--with-http_sub_module \--with-http_stub_status_module \--with-http_ssl_module \--with-openssl=exp/openssl-1.1.1w/ \--with-openssl-opt=enable-tls1_3 \--with-http_auth_request_module \--with-http_gzip_static_module \--with-http_realip_module \--add-module=exp/echo-nginx-module/ \--add-module=exp/ngx_devel_kit/ \--add-module=exp/lua-nginx-module/ \--with-pcre=exp/pcre-8.45 \--add-module=exp/set-misc-nginx-module/ \--add-module=exp/ngx_cache_purge/ \--add-module=exp/nginx-push-stream-module/ \--add-module=exp/redis2-nginx-module/ \--add-module=exp/ngx_http_consistent_hash/ \--add-module=exp/nginx_upstream_check_module/ \--with-cc-opt=-I/usr/local/luajit/include/luajit-2.1 \--with-ld-opt=-L/usr/local/luajit/lib
# make的时候加上,编译出来的文件会变大,但能提升nginx的速度make CFLAGS='-O3 -march=native'NDK 必须在 lua 模块前面添加
这是官方要求的顺序,NDK 是 lua-nginx-module 的依赖,顺序不能错:
--add-module=exp/ngx_devel_kit/ \--add-module=exp/lua-nginx-module/ \ centos6升级nginx
https://blog.ryouok.cn/posts/centos6升级nginx/