Linux 部署 Flask 服务(完整极简教程)
一、整体流程(先看一眼心里有数)
二、环境准备
当前环境:
python :3.10.0
操作系统:Linux version 3.10.0-1160.el7.x86_64
1. 安装依赖
# CentOS/RHEL sudo yum install epel-release sudo yum install python3-pip python3-devel nginx
2. 创建项目目录
mkdir -p /var/www/flaskapp -- 按实际目录修改
cd /var/www/flaskap
三、编写 Flask 应用
1. 创建虚拟环境(推荐)
3. 编写 app.py
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Linux + Flask 部署成功!" if __name__ == '__main__': app.run()
四、用 Gunicorn 运行(生产级)
gunicorn -w 4 -b 127.0.0.1:8000 app:app
写入内容:
server {
listen 80;
server_name 你的服务器IP或域名;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
2. 启用配置
sudo /usr/local/nginx/sbin/nginx -t # 测试配置是否正确 sudo systemctl restart nginx
六、配置开机自启(systemd)
1. 创建服务文件
sudo nano /etc/systemd/system/flaskapp.service
写入:
[Unit] Description=Gunicorn daemon for Flask After=network.target [Service] User=root Group=root WorkingDirectory=/var/www/flaskapp ExecStart=/var/www/flaskapp/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 app:app [Install] WantedBy=multi-user.target
2. 启动并设置开机自启
sudo systemctl daemon-reload sudo systemctl start flaskapp sudo systemctl enable flaskapp
查看状态:
sudo systemctl status flaskapp
七、防火墙放行端口
# Ubuntu sudo ufw allow 80 # CentOS sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload
八、现在你可以直接访问
打开浏览器输入:
http://你的服务器IP
九、常用命令
# 重启 Flask 服务 sudo systemctl restart flaskapp # 重启 Nginx sudo systemctl restart nginx # 查看日志 sudo journalctl -u flaskapp
总结
mkdir -p /var/www/flaskapp cd /var/www/flaskapp

浙公网安备 33010602011771号