安装 uwsgi

pip install uwsgi

创建 uwsgi 配置文件

[uwsgi]
# uwsgi 启动时所使用的地址与端口
socket = 127.0.0.1:8001
# 指向网站目录
chdir = /home/www/
# python 启动程序文件
wsgi-file = manage.py
# python 程序内用以启动的 application 变量名
callable = app
# 处理器数
processes = 4
# 线程数
threads = 2
# 状态检测地址
stats = 127.0.0.1:9191
# 指定 pid 文件位置
pidfile = /home/www/uwsgi.pid

运行 uwsgi

uwsgi config.ini

安装 Supervisor

sudo apt install supervisor

配置 Supervisor

Supervisor 的全局的配置文件位置在:/etc/supervisor/supervisor.conf

正常情况下我们并不需要去对其作出任何的改动,只需要添加一个新的 *.conf 文件放在/etc/supervisor/conf.d/即可:

[program:my_flask]
# 启动命令入口
command=/home/www/my_flask/venv/bin/uwsgi /home/www/my_flask/config.ini
# 命令程序所在目录
directory=/home/www/my_flask
#运行命令的用户名
user=root
autostart=true
autorestart=true
#日志地址
stdout_logfile=/home/www/my_flask/logs/uwsgi_supervisor.log 

启动服务:sudo service supervisor start

终止服务:sudo service supervisor stop

安装 Nginx

sudo apt install nginx

配置 Nginx

新建一个配置文件:sudo touch /etc/nginx/sites-available/flask
建立配置文件链接:sudo ln -s /etc/nginx/sites-available/flask /etc/nginx/sites-enabled/flask
配置文件内容如下:

server {
  listen  80;
  server_name XXX.XXX.XXX; #公网地址

  location / {
    include      uwsgi_params;
    uwsgi_pass   127.0.0.1:8001;  # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
    uwsgi_param UWSGI_PYHOME /home/www/my_flask/venv; # 指向虚拟环境目录
    uwsgi_param UWSGI_CHDIR  /home/www/my_flask; # 指向网站根目录
    uwsgi_param UWSGI_SCRIPT manage:app; # 指定启动程序
  }
}

配置后重启nginx:sudo service nginx restart