Nginx安裝nginx-rtmp-module模組

Naylor發表於2024-03-13

簡介

nginx中的模組雖然就是類似外掛的概念,但是它無法像VsCode那樣輕鬆的安裝擴充套件。

nginx要安裝其它模組必須同時拿到nginx原始碼和模組原始碼,然後手動編譯,將模組打到nginx中,最終生成一個名為nginx的可執行檔案。

流程

  • 檢視當前nginx 的版本(假設安裝位置為:/usr/local/nginx)
  • 下載當前版本的原始碼
  • 下載 nginx-rtmp-module模組原始碼
  • 重新編譯nginx並追加nginx-rtmp-module
  • 將新編譯好的 nginx 可執行檔案複製到當前nginx安裝目錄(/usr/local/nginx/sbin)

步驟

檢視當前已經安裝的nginx版本


[root@bogon sbin]# ./nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module


  • V:小v僅列印版本號,大V既列印版本號,也列印擴充套件資訊,這裡要使用大V
  • 拿到版本號的目的是待會要下載該版本的原始碼
  • 注意儲存列印內容中的 arguments 後面的內容,後面編譯會用到

下載對應版本的nginx原始碼

找一個目錄,假設為 /home/cml

本文即 1.18.0


wget http://nginx.org/download/nginx-1.18.0.tar.gz


tar -zxvf   nginx-1.18.0.tar.gz

下載nginx-rtmp-module模組原始碼

進入到 /home/cml


git clone https://github.com/arut/nginx-rtmp-module.git

重新編譯nginx

此時,/home/cml 目錄下面有兩個目錄

  • nginx-1.18.0
  • nginx-rtmp-module

進入 nginx-1.18.0 目錄,可以看到有一個 configure 可執行檔案


./configure  --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module --add-module=/home/cml/nginx-rtmp-module


  • 使用configure 配置編譯環境
  • 將上面 儲存的“arguments 後面的內容”作為configure 的第一個引數
  • 第二個引數為 --add-module=/home/cml/nginx-rtmp-module ,即新增一個模組,模組原始碼位置是 /home/cml/nginx-rtmp-module

如果沒有出錯,執行 編譯命令


make

編譯成功後,在/home/cml/nginx-1.18.0/objs 中會有一個 名為nginx的可執行檔案,這個就是編譯好的了, 裡面包含已經安裝的功能和新增加的nginx-rtmp-module,將這個可執行檔案複製到當前安裝目錄(/usr/local/nginx/sbin)中就可以了。注意複製之前需要停止nginx,否則會報錯。

驗證nginx-rtmp-module是否安裝好了


nginx   -V 

若列印的資訊中包含nginx-rtmp-module,說明安裝好了。

引用

  • https://github.com/arut/nginx-rtmp-module

相關文章