当前位置:   article > 正文

关于connect() failed (111: Connection refused)问题的解决

connect() failed (111: connection refused)

自五月份下旬开始,断断续续学习Python及基于Python的Web框架--Django,根据网上的案例(https://www.django.cn/article/show-23.html)一步一步学习个人博客系统的开发,到7月末初步掌握并完成开发。8月4日,购买了阿里云服务器ECS,开始部署,主要是基于CentOS和Nginx和Uwsgi进行部署,期间前后持续经历了三周自由时间,服务器重置了两次,期间踩坑不断,一度心灰意冷,还好坚持了下来,最终完成系统部署,初尝系统上线喜悦,基本掌握了部署的基本顺序,后续会专门进行总结。本文主要记录了基于Django的博客系统上线过程中,遇到的最后一个问题(connect() failed (111: Connection refused) )及其解决的办法,希望对其他人有用。

       一、基本条件

本文使用的Django版本为3.0版,python版本为3.8.3,MySQL workbench为8.0,uWSGI版本为2.0.19.1,Nginx版本为1.14.1。

       二、问题描述

输入网址后,无法正常访问页面内容,出现的信息无非是“Not Found 404”或是“internal sever error”。通过查看Nginx错误记录,在最后部分发现信息错误如下:

2020/08/21 09:35:15 [error] 179180#0: *137 connect() failed (111: Connection refused) while connecting to upstream, client: 101.xxx.xxx.xxx, server: xxx.xxx.xxx.xxy, request: "GET / HTTP/1.1", upstream: "uwsgi://127.0.0.1:8000", host: "xxx.xxx.xxx.xxy"。

        三、解决方法

      (一)确认uWSGI是否安装

  1. 在CentOS 通过指令:pip list

确认是否已经安装uWSGI,已经安装。

     2.进入CentOS python3.8.3虚拟环境

指令:workon py3.8-venv

通过指令:pip list,确认是否已经安装uWSGI,没有安装。

    (二)解决方法

在虚拟环境下,安装uWSGI,

指令:(py3.8-venv) [root@iZuf6cpv7kc2erlya1gbuoZ~]#pip install uwsgi。

完成安装后,在虚拟环境中停止之前已经启动的uWSGI和Nginx服务并重新启动,确保服务生效。

  1. uWSGI服务启停

指令:pkill -9 uwsig

重新启动uWSGI服务,指令如下:

指令:uwsgi --ini /home/iblog/uwsgi.ini(根据自己项目的的配置文件uwsgi.ini具体位置参考修改),结果如下:

[uWSGI]getting INI configuration from /home/iblog/uwsgi.ini

通过指令(ps -ef | grep uwsgi)查看具体情况,结果如下:

root 187060 1  1       10:19 ?  00:00:00 uwsgi --ini /home/iblog/uwsgi.ini

root 187088  187060  0 10:19 ?  00:00:00 uwsgi --ini /home/iblog/uwsgi.ini

root 187142  184185  0 10:19 pts/0  00:00:00 grep --color=auto uwsgi

      2.Nginx服务启停

指令:(py3.8-venv) [root@iZuf6cpv7kc2erlya1gbuoZ~]#pkill -9 nginx

重新启动Nginx服务,指令如下:

指令:(py3.8-venv) [root@iZuf6cpv7kc2erlya1gbuoZ~]#nginx -c /etc/nginx/conf.d/iblog.conf(根据自己项目的的配置文件iblog.conf具体位置参考修改)。查看启动情况:

指令:(py3.8-venv) [root@iZuf6cpv7kc2erlya1gbuoZ~]# ps -ef | grep nginx

root 187224  1  0 10:22 ? 00:00:00 nginx: master process nginx -c /etc/nginx/conf.d/iblog.conf

root 187225  187224  0 10:22 ? 00:00:00 nginx: worker process

root 187305  184185  0 10:22 pts/0 00:00:00 grep --color=auto nginx。

在浏览器中输入网址,页面正常显示。

问题得以解决,受文章“Ubuntu部署Django项目方法详解”的启发,感谢作者的辛勤劳作。

参考文献:Ubuntu部署Django项目方法详解(https://www.django.cn/article/show-22.html)。

转自个人博客:https://www.solutionworks.cn/show-3.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/148369
推荐阅读
相关标签
  

闽ICP备14008679号