nginx 1.13.0的配置文件设置
看到网上一大堆教程安装和使用,本想着应该没有什么问题,不过在更改nginx的配置文件来做一个视频点播系统的时候就遇到一对麻烦:就是没有改对配置文件!!
nginx 版本:nginx 1.13.0 ; 安装方式: apt-get install (建议先配置好 nginx-rtmp-module 还有pcre等依赖库)
nginx安装目录:/usr/local/nginx/ ; nginx配置文件目录: /usr/local/nginx/conf/nginx.conf ;
可执行文件的目录:/usr/local/nginx/sbin ;
问题抛出:
设置好支持点播的rtmp配置文件之后,然后重新加载,
以为这样就可以了,所以不管怎么改配置文件格式都是不能够在win实现播放(从陷入严重的自我怀疑~)
后来通过更改默认的端口号80为81来测试来发现了原来是配置文件没有生效
结果摸索,得出下面的结论:
标准的打开服务方式:service nginx start
标准的关闭服务方式:service nginx stop
标准修改配置方式(需要进入你的安装目录下面):
kai@ubuntu:/usr/local/nginx/sbin$ sudo ./nginx -t
kai@ubuntu:/usr/local/nginx/sbin$ sudo ./nginx -s reload
插图:
错误一: nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
kai@ubuntu:/usr/local/nginx/sbin$ sudo ./nginx -t
(记得加sudo)
************************************************************************************
加下面的这条命令:
kai@ubuntu:/usr/local/nginx/sbin$ sudo ./nginx -p /usr/local/nginx
************************************************************************************
kai@ubuntu:/usr/local/nginx/sbin$ sudo ./nginx -s reload
错误二:用错命令
下面是容易混淆的错误操作(没有显示错误,不过没有更改到配置文件):
sudo nginx -s start
sudo nginx -s stop
sudo nginx -s restart
sudo nginx -s reload
错误三:端口已经被占用的(常见错误了)
相关的几条命令:
查看被占用的端口(查看80是否被占用):netstat -tln | grep 80
查看被占用端口的PID(比如查看端口80的PID):sudo lsof -i :80
杀死PID为XXX的进程:sudo kill -9 PIDNumber
备注:
1、这鬼东西跟防火墙没有关系,可以开启windows的防火墙的(就像我之前linux的mySql在window用Navicat Premium登陆也是一样的,也是跟windows的防火墙没关系~);
2、配置文件格式没有那么严格,无需规定空多少空格,只要sudo ./nginx -t能够测试通过就行;
3、更换配置文件的端口号老的端口号还是可以使用,因为端口的解绑需要一段时间才会自动解绑,可以去了解一下网络编程里面关于端口的重用
4、rtmp传输视频只能以flv的格式传输。
附加(一个rtmp-nginx视频点播系统的配置文件):
原文地址https://blog.csdn.net/weixin_41501825/article/details/81951109