引言
网上有好多nginx部署flask的教程,但是每一个教程或多或少有点问题,这里我把我的部署过程记录下来,分享一下。
安装nginx
这个比较简单,直接apt-get安装就可以了。
1 | sudo apt-get install nginx |
上传flask应用
我直接将应用放在了用户目录下面/home/yu/my_flask。目录结构如下:
1 | my_flask |
创建虚拟环境
由于多个应用的依赖不同,我习惯使用虚拟环境把应用区分。
可以通过以下命令安装virtualenv
1 | pip install virtualenv |
初始化
1 | cd my_flask |
启动/退出虚拟环境
1 | source venv/bin/activate #启动 |
安装依赖包
在虚拟环境中,pip安装就可以了,很简单,就不啰嗦了。
安装uwsgi
通过uwsgi代理,把我们的flask和nginx反向代理连接起来。
安装也很简单
1 | pip install uwsgi #在虚拟环境中运行 |
配置nginx
在/etc/nginx/sites-enabled/下的default文件删掉,然后在/etc/nginx/sites-available/创建一个你自己的文件,比如my_flask,在文件中输入一下内容:
1 | server { |
启动uwsgi
在你的虚拟环境中运行
1 | uwsgi -s /tmp/ITT.sock -w myapp:app -d ./logs/uwsgi.log #确保你的/tmp/uwsgi.sock与上面的地址相同 |
启动nginx
1 | sudo serviec nginx start |
此时,访问你的网站,应该就可以了。
如果有其他问题,可以去/var/log/nginx/和~/my_flask/logs/uwsgi.log中查看日志,然后百度或Google。