nginx 部署和优化
1、nginx部署
hello world!
1.1、通用方式1
部署分为3步:
- nginx搭建 ,参考 《在Ubuntu 14 上安装 Nginx-RTMP 流媒体服务器的教程》.;
- 推流,可参考OBS;
- 拉流。可参考VLC;
1.2、通用方式2
1.3、私有部署(tg方式)
部署分为3步:
- nginx搭建 。
搭建后,使用自己的配置文件——tuge-nginx.conf;
文件放在/usr/local/nginx/conf目录;
注释掉代码(路径:rtmp /server application myapp )#allow publish 192.168.31.13;和#deny publish all; - OBS推流 ,配置路径——设置
服务:自定义
服务器:rtmp://192.168.31.13/myapp/
串流秘钥:main。(串流秘钥代表房间号,可自定义。例——main、0、01等) - VLC拉流,配置路径——媒体–>打开多个文件–>网络
网络协议:rtmp://192.168.31.13/myapp/main
remark:main是自定义的房间号
1.4、nginx服务启动
- sudo pkill -9 nginx
- sudo netstat -lntp
- sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/tuge-nginx.conf
2、nginx优化
2.1、设置开机自启
2.1.1、建立服务文件
vim /usr/lib/systemd/system/nginx.service
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
说明:
Description:描述服务
After:依赖,当依赖的服务启动之后再启动自定义的服务
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令(需要根据路径适配)
ExecReload为重启命令(需要根据路径适配)
ExecStop为停止命令(需要根据路径适配)
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
2.1.2、命令
systemctl disable nginx.service 关闭开机自启
systemctl enable nginx.service 开启开机自启
systemctl status nginx.service 查看状态
systemctl restart nginx.service 重启服务
systemctl list-units --type=service 查看所有服务
3、开通外网访问
流媒体服务器配置不变,把网络信息在对外最外层设备配置信息中加上(一般是公司网管修改交换机配置)。
需要的网络信息是:流媒体服务器IP和端口号、对外网申请的域名。
例如 我的配置是:
内网IP:192.168.31.13
内网端口:1935
外网域名:vpn.xxxxxxxx.top
配置完成后就可外网访问。
我的外网访问地址:rtmp://vpn.xxxxxxxx.top/myapp/main