Nginx添加新模塊&平滑重啟服務(wù)

admin Nginx評(píng)論453字?jǐn)?shù) 1646閱讀模式

一、簡(jiǎn)要說(shuō)明

當(dāng)編譯完成后的Nginx需要添加新的模塊時(shí),我們需要添加該模塊重新編譯。
比如我這里的需求是:編譯好Nginx后,我需要添加--with-http_v2_module --with-stream模塊
所有步驟完成之后,/usr/local/nginx/sbin/nginx -s reload 有可能不生效
最好重啟下,Nginx /usr/local/nginx/sbin/nginx -s restart

二、添加步驟

1、查看現(xiàn)有Nginx的安裝版本和已編譯的參數(shù)

# 進(jìn)入Nginx的安裝目錄
$ cd /usr/local/nginx/sbin 
# 查看現(xiàn)有Nginx的版本和已編譯的參數(shù)
$ ./nginx -V

Nginx添加新模塊&平滑重啟服務(wù)

2、在官方下載相對(duì)應(yīng)的版本

https://nginx.org/en/download.html

Nginx添加新模塊&平滑重啟服務(wù)

?3、帶上新模塊重新編譯

# 進(jìn)入剛下載解壓出來(lái)的Nginx安裝目錄
$ cd /data/soft/nginx-1.20.1
 
# 帶上新模塊重新編譯
$ ./configure --prefix=/usr/local/nginx/ --sbin-path=/usr/local/nginx/sbin/ --with-http_ssl_module --with-http_v2_module --with-stream --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --http-fastcgi-temp-path=/usr/local/nginx/fastcgi_temp --http-client-body-temp-path=/usr/local/nginx/client_body_temp --http-proxy-temp-path=/usr/local/nginx/proxy_temp --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp
 
# 編譯 注意:這里只有make,一定不要手賤順手執(zhí)行了make install,不然會(huì)覆蓋安裝的
$ make

Nginx添加新模塊&平滑重啟服務(wù)

三、平滑重啟

上一步執(zhí)行完成后,會(huì)在當(dāng)前目錄下生成objs目錄,其中的nginx文件即為新的二進(jìn)制文件

Nginx添加新模塊&平滑重啟服務(wù)
1、備份原來(lái)的Nginx文件

# 進(jìn)入Nginx的原安裝目錄
$ cd /usr/local/nginx/sbin 
# 備份原Nginx運(yùn)行腳本文件
$ cp -rf nginx nginx_bak

2、替換nginx二進(jìn)制文件

$ cp -f /data/soft/nginx-1.20.1/objs/nginx /usr/local/nginx/sbin/nginx

3、正確性檢查

$ /usr/local/nginx/sbin/nginx -t

Nginx添加新模塊&平滑重啟服務(wù)

4、重新Reload Nginx

$ /usr/local/nginx/sbin/nginx -s reload

5、查看最終編譯的新模塊

$ /usr/local/nginx/sbin/nginx -V

需要添加--with-http_v2_module --with-stream模塊已成功加上

Nginx添加新模塊&平滑重啟服務(wù)

6、重新加載Nginx

$ /usr/local/nginx/sbin/nginx -s reload

特別注意:重新編譯了Nginx,只是/usr/local/nginx/sbin/nginx -s reload 新增加模塊不會(huì)生效,但Nginx新增的配不會(huì)生效。這個(gè)折騰了很久,一直以為配置問(wèn)題。如果不生效,確保不想要業(yè)務(wù)的情況下,可以把一臺(tái)Nginx節(jié)點(diǎn)下線,使用 /usr/local/nginx/sbin/nginx stop停止后,再重新啟動(dòng)Nginx。

版權(quán)聲明:文章圖片資源來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2023年2月6日 21:10:49
  • 轉(zhuǎn)載請(qǐng)務(wù)必保留本文鏈接:http://yudch.cn/9982.html
匿名

發(fā)表評(píng)論

匿名網(wǎng)友 填寫(xiě)信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: