服务器部署——nginx uwsgi flask安装 配置 部署(Linux-Ubuntu)

nginx安装:

apt-get install nginx

uwsgi安装:

pip install uwsgi

sudo apt-get install uwsgi-plugin-python #解决python与uwsgi兼容问题,配合uwsgi中 plugins = python使用

 

nginx配置:

打开nginx配置文件:

vim /etc/nginx/nginx.conf

可查找到:include /etc/nginx/sites-available/default;  告诉我们可以到该路径下去配置

vim /etc/nginx/sites-available/default

添加代码如下:

server {
  # 监听80端口, 浏览器http请求默认端口为80
  listen  80;

  # 监听本机所有ip, 可指定本机ip如:192.168.1.110
  server_name 0.0.0.0;


  location / {

    # 指定通信对象为uwsgi,即数据向uwsgi转发
    include      uwsgi_params;

    # 指定uwsgi 的ip:port 的接收地址
    uwsgi_pass   127.0.0.1:5001;

    # 指定python项目的运行环境
    # 也可通过uwsgi中的virtualenv指定项目环境
    # 默认为系统python主环境
    # 此处指定为自建虚拟环境venv
    uwsgi_param UWSGI_PYHOME /home/reidlv/venv;

    # 指定flask类型的项目根目录
    uwsgi_param UWSGI_CHDIR  /home/reidlv/flaskspace/test-web;

    # 指定flask项目的启动文件 
    # manage: /home/reidlv/flaskspace/test-web/manage.py
    # manage.py 中包含app变量 (app = Flask(__name__))
    uwsgi_param UWSGI_SCRIPT manage:app;
  }
}

至此nginx配置完成。

 

uwsgi配置:

cd /home/reidlv/flaskspace/test-web

mkdir WSGI

touch WSGI/uwsgi.ini

vim uwsgi.ini

添加代码如下:

[uwsgi]

# 配合sudo apt-get install uwsgi-plugin-python, 该配置不添加,偶尔会报错
plugins = python                         

# 接收通讯地址, 与nginx配置中的 uwsgi_pass   127.0.0.1:5001; 对应
socket = 127.0.0.1:5001                      

# 项目主目录
chdir = /home/reidlv/flaskspace/test-web

# 项目启动文件
wsgi-file = manage.py

# 主应用名
callable = app

# 开启进程数
processes = 4

# 开启线程数
threads = 2

# 日志处理
stats = 127.0.0.1:9191

启动服务:

sudo service nginx start

uwsgi /home/reidlv/flaskspace/test-web/WSGI/uwsgi.ini

若命令正常启动,恭喜配置成功。浏览器请求test-web所在主机ip即可成功访问。

若报错,请查看端口是否被占用,以及以上参数是否配置正确。

若有错误,还请各位多多告知,以免贻害广大同胞。

你可能感兴趣的:(服务器部署,FLASK)