目標
- 首先這是一個替 nginx 動態增加 module 的程序
- 利用 docker : nginx 來建立已經安裝好 nginx 的環境
- 因為動態安裝 module,必須要相同的 nginx 版本,與相同的設定資訊
環境
- osx
- docker, nginx:latest
- 安裝的 module :
https://github.com/kwojtek/nginx-rtmpt-proxy-module
first at all
docker run -it -p 80:80 -p 443:443 nginx:latest /bin/bash
可能會用到的套件
1 |
|
安裝 gcc
apt-get install build-essential -y
檢查 nginx, 取得
nginx -V
- 版本號
- 設定參數 : 編譯時,需要用到,否則會有二進制不相容問題, ex : configure arguments: –prefix=/etc/nginx ….
下載 nginx : 依照版本號碼
1 |
|
下載 module
git clone https://github.com/kwojtek/nginx-rtmpt-proxy-module.git
取得編譯時需要的 dependency
PCRE
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz && tar xzvf pcre-8.40.tar.gz
- 編譯時加上 :
--with-pcre=<path>
zlib
wget http://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
- 編譯時加上 :
--with-zlib=<path>
openssl
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
- 編譯時加上 :
--with-openssl=<path>
開始編譯
1 |
|
ex:
1 |
|
產生 modules
make modules
將 moduels 放到目前版本的 nginx/module 下
cp {path}/nginx-{version}/objs/ngx_rtmpt_proxy_module.so /etc/nginx/modules
更改 nginx.conf : 在最上層加入此行
not within the http or stream context
1 |
|