【2020-11-05】Flask+uWGSI+Nginx的部署


一、Nginx简介

Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

应用场景

http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。


二、Nginx安装

1. 安装环境

  1. 需要安装gcc的环境。yum install gcc-c++
  2. yum install -y pcre pcre-devel
  3. yum install -y zlib zlib-devel
  4. yum install -y openssl openssl-devel

2. 安装Nginx

wget http://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure
sudo make & make install

3.修改配置文件,./conf/nginx.conf

server {
    
    
listen 8083;                               //服务端口
server_name localhost;     //服务器ip

location / {
    
    
include uwsgi_params;           //这里是导入的uwsgi配置
uwsgi_pass 127.0.0.1:5000;     //需要和uwsgi的配置文件里socket项的地址相同,否则无法让uwsgi接收到请求。
uwsgi_param UWSGI_CHDIR /opt/cntreport/cnt_report;      //项目根目录
uwsgi_param UWSGI_SCRIPT cnt_report:app;      //启动项目的主程序【程序名:项目名】
}
}

二、uWGSI安装

1.下载安装包并解压

wget http://projects.unbit.it/downloads/uwsgi-1.4.10.tar.gz
tar -zxvf uwsgi-1.4.10.tar.gz
cd uwsgi-1.4.10

2.修改文件夹下 buildconf/core.ini 文件

plugin_dir = /usr/lib/uwsgi #自定义目录
bin_name = /usr/bin/uwsgi   #自定义目录

3.编译 uWSGI

python uwsgiconfig.py --build core

4.创建配置文件uwsgiconfig.ini

socket = 127.0.0.1:5000                # 如果通过Nginx调用, 启动与Nginx进行通信的socket服务的
wsgi-file = /opt/cntreport/cnt_report/cnt_report.py       # 启动服务的脚本文件
callable = app                              # 一般指app=Flask(__name__)的变量名app
processes = 3                               # 进程数
threads = 2                                 # 每个进程的线程数
plugin = /opt/Python-3.6.0/python           # python版本,如需要请用绝对路径
daemonize = /opt/log/uwsgi_log/server.log   # 日志文件
pidfile = uwsgi.pid                         # 保存pid信息,方便停止服务和重启的时候用

三、启动服务

1.先启动nginx,再启动uwsgi

nginx -c ./nginx/conf/nginx.conf
uwsgi --ini ./uwsgi/uwsgiconfig.ini

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_26079939/article/details/109511743