如何给 Flask 项目创建 Systemd 服务 ?

为 Flask 应用程序创建 systemd 服务文件是确保应用程序在 Linux 系统上顺利运行的一种极好的方法,它提供了一种健壮且可靠的方式来管理应用程序进程。本文将指导您完成为 Flask 应用程序创建和配置 systemd 服务。

1: Create a Flask Application

创建一个样例 Flask 应用程序

python 复制代码
from flask import Flask
app = Flask(__name__)

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

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

2: Test Your Flask Application

在创建服务文件之前,确保你的 Flask 应用运行时没有错误。

复制代码
python app.py

3: Creating a Systemd Service File

切换到 "/etc/systemd/system"目录

复制代码
cd /etc/systemd/system

使用文本编辑器创建一个名为 flaskapp.service 的文件。

复制代码
sudo nano flaskapp.service

将以下内容添加到文件中:

bash 复制代码
[Unit]
Description=Your Flask App
After=network.target

[Service]
User=username
Group=groupname
WorkingDirectory=/path/to/your/app
Environment="PATH=/path/to/your/app/env/bin"
ExecStart=/path/to/your/app/env/bin/gunicorn -w 4 -b 0.0.0.0:8000 app:app

[Install]
WantedBy=multi-user.target

替换 username, groupname, /path/to/your/app, app:app 为实际使用的值。

文件说明:

  • [Unit] : 描述服务和依赖项
  • [Service] : 如何启动和管理服务
  • [Install] : 与系统启动集成

4: Enable and Start Your Flask Service

重新加载 systemd 以读取新的服务文件

复制代码
sudo systemctl daemon-reload

启用服务开机启动

复制代码
sudo systemctl enable flaskapp.service

启动服务

复制代码
sudo systemctl start flaskapp.service

5: Monitoring and Troubleshooting

检查服务的状态

复制代码
sudo systemctl status flaskapp.service

查看服务日志

复制代码
journalctl -u flaskapp.service

我的开源项目

相关推荐
聪明的墨菲特i3 分钟前
Python 办公技巧:PDF 自动化处理
python·pdf·自动化
hong_zc6 分钟前
Spring 拦截器与统一功能的处理
java·后端·spring
Ronin-Lotus9 分钟前
深度学习篇---模型参数调优
人工智能·pytorch·python·深度学习·paddlepaddle·batch·学习率
珹洺1 小时前
C++从入门到实战(十)类和对象(最终部分)static成员,内部类,匿名对象与对象拷贝时的编译器优化详解
java·数据结构·c++·redis·后端·算法·链表
林泽毅1 小时前
SwanLab硬件监控:英伟达、昇腾、寒武纪
python·深度学习·昇腾·英伟达·swanlab·寒武纪·训练实战
小哲慢慢来2 小时前
解决auto_gptq安装问题
python
奔跑草-2 小时前
【服务端】使用conda虚拟环境部署Django项目
python·django·conda
ai大师2 小时前
给聊天机器人装“短期记忆“:Flask版实现指南
后端·python·gpt·flask·oneapi·中转api·apikey
galileo20162 小时前
rust服务应用开发框架
后端·rust
moz与京6 小时前
[附C++,JS,Python题解] Leetcode 面试150题(10)——轮转数组
c++·python·leetcode