初学flask部署,踩了一些坑记录一下。

uwsgi配置

对于uwsgi的安装不详细描述

在centos7上部署flask大型应用的时候会使用工厂模式create_app(),放置在一个module的__init__.py中,

uwsgi配置的时候应该就不要使用 wsgi-file来进行配置,查遍全网没有说这个的,还是看gunicorn(另外一种UNIX 下的 WSGI HTTP 服务器)命令才知道的

gunicorn命令需要你应用或者包的名称和应用实例。如果你使用工厂模式,那么 可以传递一个调用来实现:

$ gunicorn "myproject:create_app()"

应该

[uwsgi]socket = 127.0.0.1:3031 #踩坑点1
chdir = [your_application_dir]#踩坑点2
module = [your_application_module_name].create_app()#踩坑点3

...

运行你的uwsgi_config.ini

uwsgi --ini uwsgi_config.ini

配置nginx

配置nginx时,uwsgi就应该使用socket而不是http

查看nginx的配置地址,(一开始不知道地址在哪里不知道怎么修改可急人了),bash使用

nginx -t

修改配置就使用

location @yourapplication {    include uwsgi_params;    uwsgi_pass 127.0.0.1:3031;#和上面的地址一致unix:/tmp/yourapplication.sock;
}