Python第三篇:flask+uwsgi+nginx部署过程中,个人遇到的坑。

之前用apache+mod_wsgi部署过一个测试的flask文件,严格来说那并不是一个完整的项目。所以apache+mod_wsgi其实更加适合用来做api集合。如果要运行一个完整的python web项目,apache那种方式已经显得很老了。所以现在就尝试用nginx+uwsgi部署项目

按照网上的教程一步一步来,这里贴上我参考的教程,这里记录下我遇到的问题。

uwsgi config.ini测试时报错:ImportError: No module named ‘app’

在这里插入图片描述
这我是单纯用uwsgi测试运行项目的操作。我后面用nginx+uwsgi方式的时候这里是不需要加pythonpath,这里记录一下只是作为一个参考。可以略过。
首先,必须确定在ini中加入pythonpath,我用了虚拟环境,所以path就写虚拟环境的site-packages。

chdir必须是项目的根目录,否者你设置了pythonpath还是同样的错误

Python第三篇:flask+uwsgi+nginx部署过程中,个人遇到的坑。_第1张图片

nginx+uwsgi

首先要先确保uwsgi保持在后台运行,建议运行的时候运行 uwsgi config.ini --enable-threads 。之前我配置一直对了,但是总是nginx返回502错误,查看日志说connect() failed (111: Connection refused) while connecting to upstream, client: 113.119.159.171, server: 119.23.189.151, request: “GET / HTTP/1.1”, upstream: “uwsgi://127.0.0.1:8001”, host: “119.23.189.151:8000”
。这是才明白是uwsgi拒绝链接。发现是uwsgi在我ctrl+c的时候就结束了,根本没运行。启动之后就不用管它,直接去配置nginx即可。

#附上部署成功的项目地址,源代码来自github大佬happyte的项目,感谢。

你可能感兴趣的:(python,flask,uwsgi)