【服务器uwsgi + flask + nginx的搭建】

目录

  • [服务器uwsgi + flask + nginx的搭建](#服务器uwsgi + flask + nginx的搭建)
    • [1. 安装必要的软件](#1. 安装必要的软件)
    • [2. 启动nginx服务](#2. 启动nginx服务)
    • [3. 测试Nginx](#3. 测试Nginx)
    • [4. 配置uwsgi和flask](#4. 配置uwsgi和flask)
    • [5. 配置nginx](#5. 配置nginx)

服务器uwsgi + flask + nginx的搭建

1. 安装必要的软件

安装Python、uWSGI、Flask 和 Nginx。

复制代码
# Ubuntu 安装命令
sudo apt-get update
sudo apt-get install python3 python3-pip nginx
pip3 install uwsgi flask

2. 启动nginx服务

复制代码
systemctl start nginx

3. 测试Nginx

在浏览器地址栏输入IP(本机则为127.0.0.1或localhost)地址,进而测试nginx是否安装成功

4. 配置uwsgi和flask

  • 新建一个服务目录data并进入目录mkdir /data&& cd /data

  • 新建一个py文件vim test.py,粘贴如下内容:

    复制代码
    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/', methods=['GET', 'POST'])
    def hello():
        return 'Hello, flask!'
    
    if __name__ == '__main__':
        app.run()
  • 新建一个ini文件uwsgi.ini,粘贴如下内容:

    复制代码
    [uwsgi]
    #uwsgi启动时所使用的地址和端口
    socket=127.0.0.1:5000
    #指向网站目录
    chdir=/data
    
    #python启动程序文件
    wsgi-file=test.py
    #python程序内用以启动的application变量名
    callable=app
    
    #处理器数
    processes=1
    
    #线程数
    threads=2
    
    #状态检测地址
    stats=127.0.0.1:9191
    
    #保存启动之后主进程的pid
    pidfile=uwsgi.pid
    
    #设置uwsgi后台运行,uwsgi.log保存日志信息 自动生成
    daemonize=uwsgi.log
  • 运行uwsgi serveruwsgi --ini uwsgi.ini

  • 执行以下命令查看uwsgi服务启动情况,看到如下图效果是服务启动成功:

    复制代码
    ps aux | grep uwsgi

5. 配置nginx

  • 创建配置文件vim /etc/nginx/conf.d/app.conf,并粘贴如下内容

    复制代码
    server {
        listen 80;
        server_name app.example.com;
    
        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:5000;
        }
    }
  • 重启nginxnginx -s reload

  • 验证配置是否成功

    复制代码
    curl http://localhost

    执行结果为Hello, flask!表示服务配置成功

相关推荐
vortex54 分钟前
Linux PAM 配置详解:从原理到实战,彻底阻断非授权提权
java·linux·服务器
ZPC82107 分钟前
Linux Preempt-RT 实时内核 ** 抖动(Jitter)** 完整测试方法
linux·运维·服务器
呉師傅33 分钟前
UPS滴滴告警!如何测量UPS电池内阻【UPS学习】
运维·服务器·网络·学习·电脑
tedcloud1232 小时前
wifi-densepose部署教程:构建无线人体感知系统
服务器·javascript·网络·typescript·ocr
AC赳赳老秦2 小时前
OpenClaw碎片时间利用:设置轻量化自动化任务,高效利用职场碎片时间
java·大数据·运维·服务器·数据库·自动化·openclaw
lqj_本人2 小时前
鸿蒙electron跨端框架PC课业板实战:课程、截止时间、提交物和风险都放到桌面上
服务器·electron·harmonyos
Bert.Cai2 小时前
Linux tee命令详解
linux·运维·服务器
楷哥爱开发3 小时前
演唱会自动化抢票如何提高成功率?票务住宅IP与配置指南
服务器·前端·php
测试员周周3 小时前
【Appium 系列】第17节-XMind用例转换 — 从思维导图到 YAML
java·服务器·人工智能·单元测试·appium·测试用例·xmind
cui_ruicheng3 小时前
Linux网络编程(七):TCP Socket编程与EchoServer
linux·服务器·网络·tcp/ip