使用 Centos7部署 flask的项目遇到了很多的问题,这里做一下记录:
1.安装uwsgi : pip install uwsgi
注意:centos7默认的pyhon版本是2.7 ,我的服务器上安装使用的版本是3.6,后面会遇到问题,及解决办法。
2.uwsgi配置:
如果在访问路由时遇到:
这个问题那么就在 uwsgi的配置文件里添加: **
**
3.nginx 配置:
这里注意: nginx配置中的 : uwsgi_pass数据必须和 uwsgi配置文件中的socket一样!!!
遇到的问题及解决办法:
问题1: 访问路由时报错为:
no python application found, check your startup logs for errors
解决办法: 在flask项目中添加一句:
问题2:我已经使用pip install flask的库,但是依然报错:
报错的信息大概的意思是没有找到flask模块,原因是:centos默认的uwsgi默认使用的是python2.7的版本,但是我之前已经将pip转为python3.6版本下的了,所以当我执行pip install flask时其实是安装在python3.6文件夹下了,所以解决办法:
添加uwsgi的软连接到 /usr/bin/uwsgi3
执行: ln -s /usr/local/python3.6/bin/python3/uwsgi /usr/bin/uwsgi3
然后在执行uwsgi配置文件的使用执行:uwsgi3 --ini config.ini
项目成功跑起来之后需要将项目添加为系统服务:
1.vim /etc/systemd/system/send.service
2.
[Unit]
Description=uWSGI instance to serve send project
After=network.target
[Service]
WorkingDirectory=/send
Environment=FLASKR_SETTINGS=/send/env.cfg
ExecStart=/usr/bin/uwsgi3 –ini /send/config.ini
[Install]
WantedBy=multi-user.target
**WorkingDirectory:项目的路径
ExecStart:服务启动的代码,这里是启动uwsgi
WantedBy=multi-user.target:指明会跟随系统的启动而启动**
最后启动:systemctl start send
最后经过努力终于部署成功了,ps:我特么是一个php的程序员!!!!!!