nginx + uwsgi + systemd 部署 flask

Flask 常用部署方式

  • uWSGI + Nginx(最常用)

  • Gunicorn + Nginx

  • gevent.pywsgi + Nginx

    使用gevent.pywsgi的完整示例:

    python
    from gevent import pywsgi
    from your_app import app

    server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
    print("Server running on port 5000...")
    server.serve_forever()

导出第三方模块
复制代码
pip freeze > requirements.txt
创建python虚拟环境
复制代码
# 安装虚拟环境的第三方包 virtualenv
pip3 install virtualenv
 
# 创建虚拟环境(虚拟环境一般放在项目根目录下)
virtualenv venv
 
# 激活虚拟环境
source venv/bin/activate
 
# 退出虚拟环境
deactivate

下载三方模块

在虚拟环境中导入requirements中的第三方模块

复制代码
pip install -r requirements.txt

导入数据库

新建 文件 wsgi.py

复制代码
# wsgi.py
from app import app  # 从应用模块导入 app 实例

if __name__ == "__main__":
    app.run()

创建uwsgi.ini

复制代码
[uwsgi]
module = wsgi
callable = app
master = true
processes = 2
threads = 100
plugin = python3
socket = 0.0.0.0:8002

# 或者使用Unix socket方式(二选一)
; socket = /myflaskapp/uwsgi.sock
; chmod-socket = 660
; vacuum = true


# Python虚拟环境

virtualenv = /home/ubuntu/zhiliao_oa/venv

# 日志文件
logto = /home/ubuntu/zhiliao_oa/logs/error.log
buffer-size = 65535
die-on-term = true

创建 /etc/systemd/system/flaskoa.service

复制代码
[Unit]
Description=uWSGI instance to serve your Flask app
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/home/ubuntu/zhiliao_oa
Environment="PATH=/home/ubuntu/zhiliao_oat/venv/bin"
ExecStart=/usr/bin/uwsgi --ini =/home/ubuntu/zhiliao_oa/wsgi.ini

[Install]
WantedBy=multi-user.target

配置nginx

复制代码
# nginx配置
 
server {
    listen   80;
    server_name flask.larance.xyz;
    location / {
        uwsgi_pass   127.0.0.1:8002;  # uwsgi运行的端口
        include uwsgi_params;
    }
    location /static{
      alias  /home/ubuntu/zhiliao_oa/static;  # 你收集的静态文件的位置
    }
}
相关推荐
杨云龙UP23 分钟前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
Shingmc335 分钟前
【Linux】多路转接之select
linux·网络
木古古182 小时前
搞一个高效的c/c++开发环境,工具VIm+自研vim插件+Shell脚本
linux·编辑器·vim
茫忙然3 小时前
U 盘搭建免驱 Linux 便携系统教程
linux·服务器
高洁013 小时前
大模型落地行业第一线
人工智能·数据挖掘·transformer·virtualenv·知识图谱
一起逃去看海吧4 小时前
dify-03
java·linux·开发语言
fengyehongWorld4 小时前
Linux 根据端口进行的相关查询
linux
lihao lihao4 小时前
linux匿名管道
linux·运维·服务器
うちは止水4 小时前
weston出图调试
linux·wayland·weston
STDD4 小时前
Farming Simulator 25(模拟农场 25) Linux 专服搭建完全指南
linux·运维·javascript