Windows
這里轉(zhuǎn)發(fā)一個(gè)可以一鍵運(yùn)行的nginx server,通過node編寫,demo里使用grindplayer。
http://bashell.nodemedia.cn/archives/nodemedia-dev-server.html
Linux(離線環(huán)境)
下載
- 服務(wù)器受內(nèi)網(wǎng)限制,ngnix需要的庫無法通過wget下載,提供一個(gè)所有依賴庫的離線下載鏈接。
https://github.com/arut/nginx-rtmp-module.git - 從github下載nginx-rtmp-module項(xiàng)目
Linux安裝nginx所需包 - 在配置過程中,多次編譯失敗,最后總結(jié)出是ngnix與依賴庫以及rtmp包之間的版本不對應(yīng),具體什么ngnix版本對應(yīng)的openssl和rtmp版本,需要多次嘗試。
環(huán)境與版本
- 環(huán)境是SUSE Linux
-
zlib-1.2.8和pcre-8.38,來自上面csdn的鏈接 -
openssl-1.0.2j,一開始使用openssl-fips-2.0.11,因編譯遇到提示rtmp中某c文件函數(shù)有錯(cuò),issue里有網(wǎng)友建議換成openssl-1.0.x版本。openssl官網(wǎng) -
nginx-1.10.2,因nginx-rtmp-module使用的是github上最新版本,作者說支持nginx-1.10.x的規(guī)則,于是去官網(wǎng)下了最新stable版nginx-1.10.2。 nginx官網(wǎng)
配置
- 將所有文件導(dǎo)入同一級目錄,依次解壓
-
tar zxvf nginx-1.10.2.tar.gz
tar zxvf pcre-8.38.tar.gz
tar zxvf openssl-1.0.2j.tar.gz
tar zxvf zlib-1.2.8.tar.gz - 進(jìn)入nginx目錄,
cd nginx-1.10.2 -
./configure --prefix=user-defined/nginx --with-pcre=path/to/pcre-8.38 --with-openssl=path/to/openssl-1.0.2j --with-zlib=path/to/zlib-1.2.8 --add-module=path/to/nginx-rtmp-module-master
-prefix指定安裝目錄,--add-module添加rtmp模塊,后面跟模塊的路徑 -
make
make install - 編譯安裝中沒有error即nginx成功安裝,cd前往安裝目錄,進(jìn)入conf目錄,通過vi打開nginx.conf文件,配置nginx。這里主要添加rtmp server,如下:
rtmp {
server {
listen 1935;
application live {
live on;
}
application hls {
live on;
hls on;
hls_path temp/hls;
hls_fragment 8s;
}
}
}
修改server_name, 即訪問的ip
啟動(dòng)時(shí)會(huì)提示temp/hls目錄不存在,因我項(xiàng)目中目前只要求rtmp,于是將hls的配置刪除
- cd進(jìn)入sbin目錄,執(zhí)行nginx,通過
netstat -nlp查看對應(yīng)端口是否被占用(非root用戶最好不適用8080類的端口,我改為了7070)
相關(guān)命令
- 啟動(dòng):/sbin/nginx
- 判斷配置是否正確: /sbin/nginx -t
- 重啟: /sbin/nginx -s reload