说在前面:
这篇为总结上篇的搭建步骤,并且对主机配置,nginx配置进行详细的了解~
一、Nginx安装步骤
首先确保服务器端口80、8080、1935的开放(安全组
sudo mkdir ~/build && cd ~/build
sudo yum install git gcc make pcre-devel openssl-devel
sudo git clone git://github.com/arut/nginx-rtmp-module.git
sudo wget http://nginx.org/download/nginx-1.19.1.tar.gz
sudo tar -xzf nginx-1.19.1.tar.gz
cd nginx-1.19.1
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module
vi objs/Makefile
光标移动到第二行 -Werror
位置,按i进入编辑模式删除 -Werror
后依次esc :wq 保存并退出
sudo make
sudo make install
vi /usr/local/nginx/conf/nginx.conf
依次按下:.,d清除全部内容后按i进入编辑模式,将下面内容粘贴进文件
#user nobody;
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
# sample handlers
#location /on_play {
# if ($arg_pageUrl ~* localhost) {
# return 201;
# }
# return 202;
#}
#location /on_publish {
# return 201;
#}
#location /vod {
# alias /var/myvideos;
#}
# rtmp stat
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
# you can move stat.xsl to a different location
root /usr/build/nginx-rtmp-module;
}
# rtmp control
location /control {
rtmp_control all;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
rtmp {
server {
listen 1935;
ping 30s;
notify_method get;
application myapp {
live on;
# sample play/publish handlers
#on_play http://localhost:8080/on_play;
#on_publish http://localhost:8080/on_publish;
# sample recorder
#recorder rec1 {
# record all;
# record_interval 30s;
# record_path /tmp;
# record_unique on;
#}
# sample HLS
#hls on;
#hls_path /tmp/hls;
#hls_sync 100ms;
}
# Video on demand
#application vod {
# play /var/Videos;
#}
# Video on demand over HTTP
#application vod_http {
# play http://localhost:8080/vod/;
#}
}
}
依次按下esc :wq 保存并退出
启动nginx
sudo /usr/local/nginx/sbin/nginx
二、服务器配置的选择
第一次开了2h8g的机子完全不卡但是想到毕竟是临时使用且人不多,在推流拉流进行时top了一下发现cpu的利用率只有1%,属实有点浪费钱了,于是多开了几种配置的机器根据需求来选择配置
1.cpu、内存
这是2h2g的主机占用情况
情况
内存占用情况再多个拉流条件下变化不大
可见实现对于硬件的要求并不高cpu选择1核也没有问题,内存就建议2g避免突发情况的卡顿
2.网络
一般来说服务器入网带宽与推流时设置的码率相同,一个1080p的视频1万的码率就满足了基本要求,只需要10m带宽即可
但但但是!真正要看的是服务器的出网宽带,因为服务器需要给每一个人分发视频,所以每多一个带宽的压力就多一倍,还是以1080p的视频为例,十个人一起观看的话至少需要100m的带宽!之前的服务器选择了固定带宽的10m只能把码率调低才可以流畅观看,如果选择按流量计费的话可以轻轻松松带宽拉满(100m)到底是选择按流量计费还是按带宽计费可以根据观看的人数和和视频大小来衡量~
三、Nginx配置详解
我们复制进nginx.conf的代码是rtmp扩展帮助中给出的标准模版,对它进行理解可以更好的优化体验