初学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;
}