docker 中使用nginx容器无法正常启动,报错signal process started和kili(3255,1) failed (3: No such process)
docker 中使用nginx容器无法正常启动,报错signal process started和kili(3255,1) failed (3: No such process)为了配置docker的镜像映射,重启了docker的服务,所以所有的容器都停止了运行。重启nginx和项目的容器后发现项目不能正常访问,经过测试项目的启动没有问题,所以推测在启动docker的nginx出现了一些问题,导致
问题出现背景
为了配置docker的镜像映射,重启了docker的服务,所以所有的容器都停止了运行。重启nginx和项目的容器后发现项目不能正常访问,经过测试项目的启动没有问题,所以推测在启动docker的nginx出现了一些问题,导致访问nginx反向代理的项目都访问不到了。
问题排查
容器启动成功,端口运行,但是就是nginx访问失败
进入nginx容器
docker exec -it nginx bash
进行nginx测试,显示没有问题
nginx -t
容器中重启nginx服务,报错
nginx -s reload
再次排查:
报错信息,好像是一个线程问题,kill找不到这个线程
详细信息请看下图:
解决问题过程
1.重启nginx容器
docker restart nginx
容器虽然重启,但是并未解决问题,重复上述的问题排查过程,报错信息如出一辙。
2.经过百度搜索,很多说的都是nginx.conf的配置问题或者说是启动命令默认加载的nginx.conf的路径不对
解决办法是:
/data/nginx/sbin -c /data/nginx/conf/nginx.conf
但是一看,这应该是centos下安装的nginx,我的是docker容器,各种文件的路径应该不对应。
虽然没有解决问题,但是提供了一个思路,那就是nginx.conf配置文件的问题,或者配置文件的默认路径不对。
参考博客:https://blog.csdn.net/baidu_36342103/article/details/78932856
找到思路就好,继续找解决方案
3.docker的nginx加载默认的nginx.conf的配置文件
执行/etc/init.d/nginx start
参考博客:https://blog.csdn.net/chyin1024/article/details/86495188
4.之后执行如下命令也可以解决问题
执行nginx -c 启动的配置文件(nginx.conf)
问题出现的原因
nginx 容器启动成功了,但里面的nginx 服务不自己启动,非要手动去启动,指定默认的nginx.conf启动
总结
遇到 docker 中使用nginx容器无法正常启动,报错signal process started和kili(3255,1) failed (3: No such process) 的问题
可以进入容器,找到nginx.conf的配置文件,执行nginx -c /etc/nginx/nginx.conf
命令(/etc/nginx/nginx.conf为启动的配置文件位置)
或者直接执行/etc/init.d/nginx start
命令。
更多推荐
所有评论(0)