centos8+flask + nginx + uwsgi部署测试

本文详细描述了如何在CentOS8.2系统上安装和配置Flask应用,使用Nginx作为反向代理并结合UWSGI管理Flask服务,包括Python环境设置、uwsgi配置和Nginx配置的步骤,以及启动和测试过程。
摘要由CSDN通过智能技术生成

centos8+flask + nginx + uwsgi部署测试

服务器版本:centos 8.2 + python3.6.8

  1. 创建自己的flask应用代码路径/root/test/project.py 内容如下为flask简单接口测试(xshell内部文件夹下即可,或者打在后台再将.py粘贴过来)
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/index')
def hello_world2():
    return '你好世界!'


if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5005)
  1. 安装FLASK
pip3 install flask
  1. flask自带服务器测试
python3 project.py
  1. 网址输入http:/xxx.xxx.xxx.xxx/:5005查看是否成功(xxx为自己服务器公网地址)
  2. 安装nginx
yum install nginx
  1. nginx配置
进入目录: cd /etc/nginx
打开文件:vim nginx.conf
  1. 修改server
server {
        listen       5050;                                # web访问的nginx端口,可自行修改
        server_name  xx.xxx.xxx.xxx;         # 修改为自己的ip,我的是阿里云公网ip

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        # 配置uwsgi服务 指定反向代理
        include uwsgi_params;            #设置uwsgi_params文件路径,导入的uwsgi配置
        uwsgi_pass 127.0.0.1:5005;     # #设置为uwsgi服务器开启的端口,需要和uwsgi的配置文件里socket项的地址相同,否则无法让uwsgi接收到请求。
        uwsgi_param UWSGI_PYHOME /usr/local/bin/python3.6;   # python环境位置
        uwsgi_param UWSGI_SCRIPT project:app;     # flask web应用启动脚本文件名称,我这里是project, 及实例对象app
        uwsgi_param UWSGI_CHDIR /root/test/;       # flask web项目所在路径地址

        }
  1. 验证nginx配置文件是否配置正确
nginx -t -c /etc/nginx/nginx.conf
或者nginx -t 
#出现下面这句则代表配置正确
nginx: configuration file /etc/nginx/nginx.conf test is successful
  1. 先不启动nginx服务,接着进入项目所在路径cd /root/test/下安装uwsgi
使用该种方法没有安装成功:yum install uwsgi 
改成使用pip3 install uwsgi 则安装成功
  1. 还是在所在项目目录下,即/root/test 创建uwsgi配置文件,即uwsgi.ini
touch uwsgi.ini

进行如下配置

[uwsgi]
  
socket = 127.0.0.1:5005   # 线上部署时采用服务器ip和端口
#项目所在目录路径
chdir = /root/test/
#flask程序的启动文件
module=project.py         # 线上部署时module改为wsgi-file
#程序内启用的application变量名 必须参数,否则会报Internal Server Error
callable=app
# 启动主进程,自己测试时没用这个配置
master = true
#启动4个子进程处理请求
processes = 4
#启动2个线程
threads = 2
# 日志
daemonize = /root/test/logs/uwsgi.log     # uwsgi.log该文件需在路径中先创建
#获取uwsgi统计信息的服务地址
stats=%(chdir)uwsgi.status                         # uwsgi.status该文件需在路径中先创建  用来查看uwsgi的服务状态
#uwsgi进程的pid,用于以后的stop和reload
pidfile=/root/test/uwsgi.pid                      # uwsgi.pid该文件需在路径中先创建    用来重启和停止uwsgi服务
touch-reload=/root/test/                          # 文件重载路径,即项目路径

#若使用了虚拟环境,则需配置环境路径(本项目暂时没用)
virtualenv = /Users/xiaoyuan/.virtualenvs/flask_test
  1. 启动运行uwsgi应用服务器
uwsgi --ini uwsgi.ini
  1. 查看是否启动成功
ps aux | grep uwsgi
  1. 启动nginx服务
nginx
  1. 查看nginx启动进程
ps aux | grep nginx | grep -v grep
或者ps aux | grep nginx
  1. 上述若均正常,则再次前端网页输入xxx.xxx.xxx.xxx:5050 查看结果,若显示hello world 则配置成功
  2. 关闭nginx服务
以下两种方法都可以:
nginx -s stop (快速关闭nginx服务)
nginx -s quit (优雅关闭nginx服务,即当一个请求被处理完成之后才被关闭)
注:nginx关闭,即web应用无法访问请求,需重新启动nginx服务即可。
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值