nginx 搭建 rtmp 服務(wù)器

前言

  • 最近接手了一個(gè)跟視頻監(jiān)控相關(guān)的項(xiàng)目岖沛,用了近年來(lái)越來(lái)越流行的 Web 服務(wù)器 nginx 加上 nginx-rtmp-module 搭建 rtmp 服務(wù)器鲜滩。使用了阿里云的服務(wù)器,系統(tǒng)
    Ubuntu 16.04 鸿市。

步驟

  1. 更新源并安裝 nginx 奈泪。
sudo apt-get update
sudo apt-get install nginx
  1. 安裝完成后在瀏覽器打開(kāi)服務(wù)器 IP,看到下圖則說(shuō)明安裝成功灸芳。


    nginx安裝成功
  2. 輸入nginx -V 查看 nginx 版本,可以看到當(dāng)前版本號(hào)是 1.10.3拜姿,且可以看到編譯選項(xiàng)烙样。所以下一步要做的是下載相同版本的 nginx 源碼,使用相同的編譯選項(xiàng)并添加 nginx-rtmp-module蕊肥,替換原來(lái)的 nginx 谒获。
  3. 下載 nginx 1.10.3 的源碼和 nginx-rtmp-module 的源碼。
wget https://nginx.org/download/nginx-1.10.3.tar.gz
tar zxvf nginx-1.10.3.tar.gz
git clone https://github.com/sergey-dryabzhinsky/nginx-rtmp-module.git
cp -r nginx-rtmp-module nginx-1.10.3
  1. 在第 3 步中可以得知安裝的 nginx 的編譯選項(xiàng)壁却,所以套用這些編譯選項(xiàng)批狱,在上一步已經(jīng)把 nginx-rtmp-module 復(fù)制到 nginx 源碼目錄,所以在結(jié)尾添加 --add-module=./nginx-rtmp-module 展东。在 nginx-1.10.3 目錄執(zhí)行以下命令:
./configure --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=./nginx-rtmp-module
  1. 上一步執(zhí)行后可能會(huì)提示以下幾個(gè)錯(cuò)誤赔硫,需安裝相關(guān)軟件包,然后再次執(zhí)行步驟 5 的命令盐肃。

./configure: error: the HTTP rewrite module requires the PCRE library.
./configure: error: SSL modules require the OpenSSL library.
./configure: error: the HTTP XSLT module requires the libxml2/libxslt
./configure: error: the HTTP image filter module requires the GD library.
./configure: error: the GeoIP module requires the GeoIP library.

sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install openssl libssl-dev
sudo apt-get install libxml2 libxml2-dev libxslt-dev
sudo apt-get install libgd2-xpm-dev
sudo apt-get install libgeoip-dev
  1. 上一步執(zhí)行完成后 make爪膊,等待 nginx 編譯完成权悟。編譯過(guò)程可能會(huì)出現(xiàn) error: macro "DATE" might prevent reproducible builds 錯(cuò)誤,在 CFLAGS 中添加 -Wno-error=date-time 參數(shù)即可推盛,也就是步驟5的命令改成
./configure --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -Wno-error=date-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=./nginx-rtmp-module
  1. 編譯完成后峦阁,在 objs 目錄下會(huì)有 nginx 的可執(zhí)行文件。首先停止 nginx 服務(wù)耘成,替換掉 nginx 榔昔。
sudo service nginx stop
cd /usr/sbin
sudo mv nginx nginx.bak
sudo cp ~/nginx-1.10.3/objs/nginx ./
  1. 修改 /etc/nginx/nginx.conf,在結(jié)尾添加使其開(kāi)啟 nginx-rtmp-module 相關(guān)的功能瘪菌。
rtmp {
        server {
                listen 1935;
                chunk_size 4000;
                application live {
                        live on;
                }
        }
}
  1. 執(zhí)行 sudo service nginx restart 重啟 nginx 服務(wù)撒会,然后執(zhí)行 netstat -a|grep 1935,可以看到 1935 端口處于LISTEN狀態(tài)控嗜,即可向 nginx 推流茧彤。更多強(qiáng)大的功能可以查看
    https://github.com/sergey-dryabzhinsky/nginx-rtmp-module
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市疆栏,隨后出現(xiàn)的幾起案子曾掂,更是在濱河造成了極大的恐慌,老刑警劉巖壁顶,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珠洗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡若专,警方通過(guò)查閱死者的電腦和手機(jī)许蓖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)调衰,“玉大人膊爪,你說(shuō)我怎么就攤上這事『坷颍” “怎么了米酬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)趋箩。 經(jīng)常有香客問(wèn)我赃额,道長(zhǎng),這世上最難降的妖魔是什么叫确? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任跳芳,我火速辦了婚禮,結(jié)果婚禮上竹勉,老公的妹妹穿的比我還像新娘飞盆。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布桨啃。 她就那樣靜靜地躺著车胡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪照瘾。 梳的紋絲不亂的頭發(fā)上匈棘,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音析命,去河邊找鬼主卫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鹃愤,可吹牛的內(nèi)容都是我干的簇搅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼软吐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瘩将!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起凹耙,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤姿现,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后肖抱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體备典,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年意述,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了提佣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荤崇,死狀恐怖拌屏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情术荤,我是刑警寧澤倚喂,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站喜每,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏雳攘。R本人自食惡果不足惜带兜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吨灭。 院中可真熱鬧刚照,春花似錦、人聲如沸喧兄。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至浑彰,卻和暖如春恭理,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背郭变。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工颜价, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诉濒。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓周伦,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親未荒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子专挪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容