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的流数据,正是我推送的:

相关文章
相关标签/搜索