基于宝塔面板部署flask项目备忘
目标
在Ubuntu 16.04+宝塔面板(nginx1.14)的环境中,实现对flask的简单部署,并且支持在一个域名下对多个flask服务进行单独访问,从而实现一定程度的扩展性。
nginx配置
为了实现目标中的扩展性,我的计划是建立一个单独的虚拟主机,专门用作访问服务器上的flask服务。
- 所以首先新建一个站点,并设置域名,我在此处设置的是sspku.app这个域名,未来将通过sspku.app/xxxxx的形式访问各服务。在宝塔面板中建立站点时,不设置ftp/php/mysql等,只建立一个纯静态的站点即可,目的是使用nginx做前端的web server。
- 接下来在上一步新建好的站点的伪静态规则中,添加测试服务的访问url,将请求转发给uwsgi处理
location /test { include uwsgi_params; uwsgi_param SCRIPT_NAME /test; uwsgi_pass 127.0.0.1:10000; }
测试发现uwsgi_param SCRIPT_NAME可能不是必须的。
虚拟环境+uwsgi
- conda创建虚拟环境
- source 激活虚拟环境
- pip freeze +pin install -r
- pip install uwsgi
- 创建uwsgi配置文件,关键在于callable/mount/manage-script-name的设置
[uwsgi] socket=127.0.0.1:10000 callable=app mount=/test=run.py manage-script-name=true master=true processes=4 threads=2
uwsgi -i uwsgi.ini
即可supervisor
conda虚拟环境的加入方法:
environment加入虚拟环境的bin目录即可
文章目录
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。