问题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使用,处于运行、监听状态

Logo

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

更多推荐