Ubuntu将自建服务配置开机启动项

简介: 在Ubuntu上设置Python Flask应用为开机启动服务,需要通过Systemd进行管理。首先,创建并编辑Systemd服务单元文件,指定`ExecStart`为Python解释器及Flask入口脚本,`WorkingDirectory`为应用目录,`User`和`Group`为运行用户,以及必要的环境变量。然后,使用`systemctl`命令进行daemon-reload,启用并启动服务。最后,检查服务状态以确保启动成功。重启机器测试,确认应用能自动启动。

在Ubuntu中,要将一个Python Flask应用设置为开机启动项,你通常需要将你的Flask应用作为一个Systemd服务来管理。


步骤1、准备Flask应用

参考:阿里云CDN功能Quick Start 第二部分创建Flask应用部分。


步骤2、创建Systemd服务单元文件

  • 2.1 创建新的服务文件
cd /etc/systemd/system #到对应目录下
vi yourflaskapp.service #创建服务文件
  • 2.2 编辑服务文件
[Unit]
Description=Flask app running at startup

[Service]
ExecStart=/usr/bin/python3 -m flask run
WorkingDirectory=/root/bailianapi
User=root
Group=root
Restart=always
Environment="FLASK_APP=web.py"
Environment="FLASK_RUN_HOST=0.0.0.0"

[Install]
WantedBy=multi-user.target

按照需要调整以下几个值:

  • ExecStart:修改为Python可执行文件的路径以及你的Flask应用的入口脚本。
  • WorkingDirectory:修改为含有你的Flask应用代码的目录。
  • User 和 Group:修改为运行你的Flask应用的用户及其组。
  • 如果需要,添加适当的 Environment 变量。


步骤3、启用和启动服务

  • 3.1 重新加载Systemd配置:为了让Systemd知晓你的新服务文件,运行以下命令:
sudo systemctl daemon-reload
  • 3.2 启用你的服务:使服务在启动时自动启动:
sudo systemctl enable yourflaskapp.service
  • 3.3 启动你的服务:现在启动你的Flask应用服务:
sudo systemctl start yourflaskapp.service
  • 3.4 检查服务状态:检查你的服务是否顺利启动:
sudo systemctl status yourflaskapp.service

图片.png

  • 3.5 关闭服务
sudo systemctl stop yourflaskapp.service

图片.png

步骤4、测试开机启动

关闭机器后重启,查看状态

图片.png

相关文章
|
4月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1043 1
|
5月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
4月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
327 18
|
4月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
430 17
|
4月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
531 7
|
4月前
|
Ubuntu 网络安全 数据安全/隐私保护
搭建SSH服务于RK3399平台上的Ubuntu 18.04,实现远程连接
以上步骤涵盖从安 装 到配制再至实际使 用户建立Ssh 连接所需知识点 。务必注意,在对外提供Ssh 访问
220 2
|
5月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
401 16
|
4月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1025 6
|
5月前
|
缓存 监控 Ubuntu
在Ubuntu 16.04上配置GitLab Runner以激活GitLab CI/CD流程
完成以上步骤后,每当代码被推送到远端仓库中相对应分支上时,GitLb CI / CD 流水线就会自动触发,并由之前注册好了 GitLb runner 的机器去完成定义好了 ` .gitlabcicd.yml ` 文件里面定义好各种任务(如编译测试部署等).
290 13
|
5月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
272 13