Windows
這里轉(zhuǎn)發(fā)一個可以一鍵運(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下載往扔,提供一個所有依賴庫的離線下載鏈接。
https://github.com/arut/nginx-rtmp-module.git - 從github下載nginx-rtmp-module項目
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ù)有錯沼琉,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
啟動時會提示temp/hls目錄不存在,因我項目中目前只要求rtmp逼纸,于是將hls的配置刪除
- cd進(jìn)入sbin目錄洋措,執(zhí)行nginx,通過
netstat -nlp
查看對應(yīng)端口是否被占用(非root用戶最好不適用8080類的端口杰刽,我改為了7070)
相關(guān)命令
- 啟動:/sbin/nginx
- 判斷配置是否正確: /sbin/nginx -t
- 重啟: /sbin/nginx -s reload