Nginx服務器安裝

Nginx服務器搭建

Linux服務器下操做:nginx

下載nginx ​ wget nginx.org/download/ng…git

解壓github

$tar -xvf nginx-1.15.3.tar.gz 
複製代碼

下載nginx rtmp模塊 ​ wget codeload.github.com/arut/nginx-…shell

解壓vim

$tar -xvf v1.2.1 
複製代碼

進入nginx目錄瀏覽器

$cd nginx-1.15.3
複製代碼

執行:安全

#--add-module 指向rtmp模塊目錄
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
複製代碼

在這個過程當中可能由於環境不一樣而出現不一樣錯誤,好比缺乏pcre、openssl等,這時候就須要安裝這些庫。bash

blog.csdn.net/z920954494/…服務器

執行完後會在 nginx目錄下生成 MakeFile文件, cd nginx-1.15.3 後,執行app

$make install
複製代碼

生成 /bin 目錄,查看bin目錄下的 ./bin/conf/

這個nginx.conf 文件配置實際上是不支持 RTMP服務的, 須要替換成nginx-rtmp-module-1.2.1下的nginx.conf 的文件,在此基礎上稍做修改,bin目錄下的 nginx.conf 作備份

$mv nginx.conf nginx.conf.bak
複製代碼

拷貝./nginx-rtmp-module-1.2.1/test/nginx.conf 到 ./nginx-1.15.3/bin/conf 目錄下

$cd nginx-rtmp-module-1.2.1/test
$cp nginx.conf /root/live/nginx-1.15.3/bin/conf/
複製代碼

查看修改nginx.conf中路徑相關選項:

$vim nginx.conf
複製代碼
user root;
worker_processes  1;

error_log  logs/error.log debug;
events {
    worker_connections  1024;
}
rtmp {
    server {
    	#注意端口的佔用
        listen 1935;
        application myapp {
           live on;
      	   #丟棄閒置5秒的鏈接
           drop_idle_publisher 5s;
        }
    }
}
http {
    server {
        #注意端口的佔用
        listen 8080;
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
        location /stat.xsl {
      		#修改成本身nginx-rtmp-module-1.2.1的路徑
            root /root/live/nginx-rtmp-module-1.2.1/;
        }
        location /control {
            rtmp_control all;
        }
        location /rtmp-publisher {
      		#修改成本身nginx-rtmp-module-1.2.1的路徑
            root /root/live/nginx-rtmp-module-1.2.1/test;
        }
        location / {
            #修改成本身nginx-rtmp-module-1.2.1的路徑
            root /root/live/nginx-rtmp-module-1.2.1/test/www;
        }
    }
}
複製代碼

以上配置中查看端口是否佔用:

$lsof -i:8080
$lsof -i:1935
複製代碼

須要注意的是目錄與端口是否被佔用,好比個人8080端口被佔用,我改成了8081,而後須要開放端口。

配置了iptables防火牆的翻下前面的資料,若是沒安裝的阿里雲服務器能夠進入阿里雲控制檯開放

而後點擊配置規則,在新頁面點擊添加安全組規則,開放8081端口,而後肯定,就能夠了。

以上須要添加nginx指定的兩個端口:我這裏配置的193五、8080。配置完成後,就能夠啓動nginx了

到nginx根目錄下執行 :

$./bin/sbin/nginx #啓動服務
$./bin/sbin/nginx -s stop #中止服務
複製代碼

在當前目錄 執行 bin/sbin/nginx 便可啓動

bin/sbin/nginx -s stop 中止

必定要在當前目錄啓動,由於上面的配置 error_log logs/error.log debug; 會去執行命令的目錄下查找 logs。

若是error_log 改爲一個絕對路徑 那就不要緊了。

nginx: [emerg] open() "/root/live/bin/logs/error.log" failed (2: No such file or directory)
複製代碼

啓動服務後打開瀏覽器 ,在瀏覽器中輸入 :

【IP】:8081

能訪問就表示配置完成了

以前在此遇到403 forbidden, 在 nginx.conf 下第一行添加 user root;問題解決

至此服務器配置完成。

測試推流

下載 推流軟件 OBS,配置好相關設置,可自行百度

在來源裏添加顯示捕捉,而後點擊 開始錄製, 開始推流:

可在瀏覽器中看到多出來一條test的流數據,正是我推送的:

相關文章
相關標籤/搜索