nginx-rtmp-module模块配置时出现的问题和解决
问题1
出现问题:进入nginx目录后,想启动nginx 但是nginx不认识rtmp
原因分析:缺少rtmp模块。可能在导入第三方模块时,没有把nginx-rtmp-module正常导入进去

上网搜索原因:

尝试做备份和覆盖操作:

查看安装结果,确实就安装上了↓

问题2
出现问题:安装上后重复启动nginx的操作出现错误,打开不了

原因分析:一般原因是nginx端口被占用 or 在测试过程中,关闭过rtmp的端口号
问题解决:找到要kill 的进程号,再重新启动nginx就成功了

Ctrl+C退出当前执行程序,重启nginx
网上搜索到nginx应该运行的模样:

问题3
出现问题:重启nginx失败
![]()
问题分析:退出nginx后再重载reload,会找不到这个文件,因为一退出nginx就杀掉了nginx的进程号,所以找不到nginx的pid号,此时检查进程号,只有一个条目
解决问题:(网上搜索到的方案)
方法1. 重新链接配置文件
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
方法2. 进入nginx安装目录sbin下,输入命令./nginx -s ip 即可
[root@localhost ~]# cd /usr/local/nginx/sbin
[root@localhost sbin]# ./nginx -s reload
方法3. 查找当前nginx进程号,然后输入命令:kill -HUP 进程号 实现重启nginx服务
(1)查看进程号: ps -ef|grep nginx
[root@localhost ~]# ps -ef|grep nginx
(2)杀死进程: kill -term xxxx/ kill -int xxxx
(3)强制停止: pkill -9 nginx
实践一下:

在这个会话中开启nginx,让他保持执行
在另外一个会话中↓再次检查开启的进程号,就多了一个执行中的进程条目

↓用reload重载nginx来检查,就没有报错了,说明这个进程在执行中

重新链接配置文件发现端口号被占用,再去检查nginx没问题,被占用的端口号1935为nginx使用,处于运行、监听状态

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐


所有评论(0)