赞
踩
自五月份下旬开始,断断续续学习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是否安装
确认是否已经安装uWSGI,已经安装。
2.进入CentOS python3.8.3虚拟环境
指令:workon py3.8-venv
通过指令:pip list,确认是否已经安装uWSGI,没有安装。
(二)解决方法
在虚拟环境下,安装uWSGI,
指令:(py3.8-venv) [root@iZuf6cpv7kc2erlya1gbuoZ~]#pip install uwsgi。
完成安装后,在虚拟环境中停止之前已经启动的uWSGI和Nginx服务并重新启动,确保服务生效。
指令: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)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。