openresty 升级
1.下载相关的依赖包解压
wget -c http: //www .zlib.net /zlib-1 .2.12. tar .gz wget -c https: //www .openssl.org /source/openssl-1 .1.1q. tar .gz wget -c https: //nchc .dl.sourceforge.net /project/pcre/pcre/8 .45 /pcre-8 .45. tar .gz tar xf zlib-1.2.12. tar .gz -C /opt tar xf openssl-1.1.1q. tar .gz -C /opt tar xf pcre-8.45. tar .gz -C /opt |
2.下载openresty1.21.4源码包解压
wget -c https: //openresty .org /download/openresty-1 .21.4.1. tar .gz tar xf openresty-1.21.4.1. tar .gz #修改文件夹名称为openresty-1.22.0 mv openresty-1.21.4.1 openresty-1.22.0 #删除nginx-1.21.4.1 rm -rf openresty-1.22.0 /bundle/nginx-1 .21.4 |
3.下载nginx1.22.0源码包,复制到openresty-1.22.0/bundle下
wget -c http: //nginx .org /download/nginx-1 .22.0. tar .gz tar xf nginx-1.22.0. tar .gz -C openresty-1.22.0 /bundle/ |
4.修改nginx1.22.0中的nginx.h为openresty(路径为openresty-1.22.0/bundle/nginx-1.22.0/src/core,如不是请自行修改)
修改nginx.h
sudo sed -i '/nginx\//s?nginx/?openresty/?g' openresty-1.22.0 /bundle/nginx-1 .22.0 /src/core/nginx .h cp index.html 50x.html openresty-1.22.0 /bundle/nginx-1 .22.0 /html |
5.修改 openresty-1.22.0/bundle/nginx-no_pool.patch 把版本替换为1.22.0
sed -i /nginx-1 .21.4/ 's?nginx-1.21.4?nginx-1.22.0?g' openresty-1.22.0 /bundle/nginx-no_pool .patch sed -i 's?1021004?1022000?g' openresty-1.22.0 /bundle/nginx-no_pool .patch |
6.编译openresty
cd openresty-1.22.0 . /configure \ --prefix= /usr/share/openresty \ --with-zlib= /opt/zlib-1 .2.12 \ --with-pcre= /opt/pcre-8 .45 \ --with-openssl= /opt/openssl-1 .1.1q \ --with-pcre-jit \ --with-stream \ --with-stream_ssl_module \ --with-stream_ssl_preread_module \ --with-http_v2_module \ --without-mail_pop3_module \ --without-mail_imap_module \ --without-mail_smtp_module \ --with-http_stub_status_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_auth_request_module \ --with-http_secure_link_module \ --with-http_random_index_module \ --with-http_gzip_static_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-threads \ --with-http_ssl_module make && make install |
7.添加服务文件
cat >openresty.service <<EOF # Stop dance for OpenResty # ========================= # # ExecStop sends SIGSTOP (graceful stop) to OpenResty's nginx process. # If, after 5s (--retry QUIT/5) nginx is still running, systemd takes control # and sends SIGTERM (fast shutdown) to the main process. # After another 5s (TimeoutStopSec=5), and if nginx is alive, systemd sends # SIGKILL to all the remaining processes in the process group (KillMode=mixed). # # nginx signals reference doc: # [Unit] Description=The OpenResty Application Platform After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile= /usr/share/openresty/nginx/logs/nginx .pid ExecStartPre= /usr/share/openresty/nginx/sbin/nginx -t -q -g 'daemon on; master_process on;' ExecStart= /usr/share/openresty/nginx/sbin/nginx -g 'daemon on; master_process on;' ExecReload= /usr/share/openresty/nginx/sbin/nginx -g 'daemon on; master_process on;' -s reload ExecStop=- /sbin/start-stop-daemon --quiet --stop --retry QUIT /5 --pidfile /usr/share/openresty/nginx/logs/nginx .pid TimeoutStopSec=5 KillMode=mixed [Install] WantedBy=multi-user.target EOF |
8.打包文件
tar zcvf openresty-1.22.0. tar .gz /usr/share/openresty openresty.service |
9.在其他主机上安装
#上传tar包 tar xf openresty-1.22.0. tar .gz -C / mv openresty.service /lib/systemd/system systemctl unmask openresty.service systemctl daemon-reload systemctl enable --now openresty |
wget --no-check-certificate --http-user=sh_sdn --http-password=1234@Sdn1234 http://192.168.1.1:56366/openresty-1.22.0.tar.gz #!/binbash mkdir /home/sdn/bak cp /usr/local/openresty/nginx/conf/nginx.conf /home/sdn/bak/ cp -r /usr/local/openresty/nginx/sites-enabled /home/sdn/bak/ apt remove openresty -y --allow-unauthenticated tar -xf /tmp/openresty-1.22.0.tar.gz -C / cp /home/sdn/bak/nginx.conf /usr/share/openresty/nginx/conf/ cp -r /home/sdn/bak/sites-enabled /usr/share/openresty/nginx/ mv /openresty.service /lib/systemd/system/ chown root:root /lib/systemd/system/openresty.service chmod 755 /lib/systemd/system/openresty.service chmod -R 755 /usr/share/openresty chown -R root:root /usr/share/openresty rm /usr/bin/openresty ln -f /usr/share/openresty/bin/openresty /usr/bin/openresty sed -i 's#/usr/local/openresty/nginx/sites-enabled/#/usr/share/openresty/nginx/sites-enabled/#g' /usr/share/openresty/nginx/conf/nginx.conf systemctl unmask openresty.service systemctl daemon-reload systemctl enable --now openresty systemctl restart openresty openresty -V
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-03-27 使用 Wireshark 分析 TCP 吞吐瓶颈