Ubuntu16.04下配置HTTPS + rtmp服务器
1. 在/usr目录下创建文件夹nginx-install:
cd /usr
mkdir nginx-install
cd nginx-install
2. 下载nginx及相关组件:
wget http://nginx.org/download/nginx-1.10.3.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz
wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
apt update
apt install unzip
apt-get installopenssl libssl-dev (CentOS环境下,使用:yum install openssl-devel)
3. 解压4个tar.gz文件、一个zip文件(二选一):
1) tar同时解压多个文件(推荐):
for tar in *.tar.gz; do tar xvf$tar; done
unzip *.zip
2) tar在语法上不支持解压多个文件:
tar -zxvf nginx-1.10.3.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
tar -zxvf pcre-8.40.tar.gz
tar -zxvf openssl-1.0.2k.tar.gz
unzip *.zip
4. 编译安装nginx:
注:如wget有改动记得修改下面文件路径
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx--with-debug --with-pcre=../pcre-8.40 --with-zlib=../zlib-1.2.11--with-openssl=../openssl-1.0.2k --add-module=../nginx-rtmp-module-master --with-http_ssl_module
make
make install
5. 将证书文件 *.crt 、私钥文件 *.key保存到/usr/local/nginx/conf目录下;
6. 配置nginx.conf,目录/usr/local/nginx/conf:
vim /usr/local/nginx/conf/nginx.conf
1) rtmp配置:
文末位置填入:
rtmp {
server {
listen 1935; #监听端口号
chunk_size 4096;
application vod {
play /var/flvs; #点播视频目录
}
application live{
live on;
}
application vod_http {
play 127.0.0.1:1935;
}
application vod_mirror {
play /var/local_mirror 127.0.0.1;
}
}
}
2) HTTPS配置:
在http标签内,添加:
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate *.crt; #此处填证书文件名称
ssl_certificate_key *.key; #此处填证书密钥名称
ssl_protocols TLSv1TLSv1.1 TLSv1.2;
ssl_session_timeout 5m;
ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /html;
index index.html index.htm index.php;
}
}
3) 用/usr/local/nginx/sbin/nginx -t测试配置是否正确;
4) 重启nginx:
/usr/local/nginx/sbin/nginx -s reload
7. 出现open()"/usr/local/nginx/logs/nginx.pid" failed 的解决方法:
加-c参数,指定conf文件目录
/usr/local/nginx/sbin/nginx-c /usr/local/nginx/conf/nginx.conf