Flask项目的部署和Django的部署总体上大同小异,其中不同的部分主要是在uwsgi和nginx的配置上,至于项目迁移,环境安装和配置以及数据库安装配置,以及最后的数据迁移操作,可以参考我之前的Django部署博客。
uwsgi配置部分:
[uwsgi] socket = 127.0.0.1:5050 #uwsgi 启动时所使用的地址与端口,如果是阿里云部署,则是内网的ip chdir=/opt/OAPro #在app加载前切换到当前目录 wsgi-file = manage.py #项目的启动程序文件,表示路径是/opt/OAPro/manage.py callable = app # 程序内用以启动的 application 变量名 processes = 4 # 处理器数 threads = 2 # 线程数 buffer-size = 32768 #设置用于uwsgi包解析的内部缓存区大小为64k,默认是4k。 daemonize=/opt/script/uwsgi.log #使进程在后台运行,并将日志打到指定的日志文件
nginx配置部分:
server { listen 80; server_name 192.168.29.201; #ip或者域名
access_log logs/access.log; #访问日志 error_log logs/error.log; #错误日志
location / { include uwsgi_params; #加载uwsgi uwsgi_pass 127.0.0.1:5050; # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi处理 uwsgi_param UWSGI_CHDIR /opt/OAPro; # 指向网站根目录 uwsgi_param UWSGI_SCRIPT manage:app; # 指定启动程序 } }
扩展:
相关部署的优秀博文参考:
虚拟环境配置参考博文:
uwsgi协议的变量