1. 程式人生 > >在阿里雲伺服器上搭建基於nginx的直播服務

在阿里雲伺服器上搭建基於nginx的直播服務

對於沒有接觸過nginx的我,在看了別人搭建的直播服務後心癢癢了,也就照著搭建了一個直播服務,我是在阿里雲伺服器上搭建的,首先來說一下阿里雲伺服器,我買的是一個ECS的雲伺服器,系統是CentOS7

然後用Xshell連線上我的伺服器,發現連線不上,原來是阿里雲伺服器的安全策略在起作用,預設埠是不開放的,所以我們需要開放埠,開啟控制檯,找到自己的雲伺服器,開啟例項,然後開啟安全組去配置規則

在這裡開放需要用到的埠,我開放了21,22,80,81號埠,然後我們去安裝nginx和rtmp模組

1,安裝rtmp及nginx

獲取rtmp安裝包,百度網盤

獲取nginx安裝包,百度網盤

[[email protected] ~]# ls
anaconda-ks.cfg       nginx-1.8.1.tar.gz            公共  視訊  文件  音樂
initial-setup-ks.cfg  nginx-rtmp-module-master.zip  模板  圖片  下載  桌面

2,解壓壓縮包

[[email protected] ~]# unzip nginx-rtmp-module-master.zip 
[[email protected] ~]# tar -xvf nginx-1.8.1.tar.gz 

3,編譯安裝nginx

[[email protected] ~]# cd nginx-1.8.1/
[[email protected] ~]# ./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module 

當然都知道編譯安裝的前提是要有編譯安裝的工具,所以先來安裝一下編譯安裝的工具

[[email protected] nginx-1.8.1]# yum groupinstall "development tools" -y
[[email protected]
nginx-1.8.1]# yum install openssl-devel openssl -y

然後再來configure

[[email protected] nginx-1.8.1]# ./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module 
./configure: error: no ../nginx-rtmp-module/config was found

出現錯誤,找不到檔案,改rtmp目錄名即可

[[email protected] nginx-1.8.1]# cd
[[email protected] ~]# mv nginx-rtmp-module-master nginx-rtmp-module

繼續

[[email protected] nginx-1.8.1]# ./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module 

這樣就成功了。

編譯安裝

[[email protected] nginx-1.8.1]# make&&make install

至此,nginx安裝完畢,接下來便是編輯配置檔案

4,編輯nginx配置檔案

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

          
http {   
    include       mime.types;
    default_type  application/octet-stream;
        
    sendfile        on;
    #tcp_nopush     on; 

    #keepalive_timeout  0; 
    keepalive_timeout  65;
    

    server {
        listen       81;
        server_name  localhost;


        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
rtmp {
        server {

                listen 1935;
                application hls {
                live on;
                hls on;
                hls_path /usr/local/nginx/html/hls;
                hls_fragment 2s;
                }
        }
}

這便是我的配置檔案,我沒有監聽80埠而監聽的81埠

[[email protected] nginx-1.8.1]# mkdir /usr/local/nginx/html/hls/

5,啟動nginx

[[email protected] nginx]# cd /usr/local/nginx/
[[email protected] nginx]# ./sbin/nginx

6,推流

下載OBS

在設定之中推流

流名稱可以任意填寫,我填的是test

6,下載vlc,串流

在串流網路中輸入URL

rtmp://XXX/hls/test                          XXX為主機IP

串流之後即可看到推流內容

這樣,直播服務搭建完畢