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

本文涉及的产品
资源编排,不限时长
无影云电脑企业版,4核8GB 120小时 1个月
无影云电脑个人版,1个月黄金款+200核时
简介: 在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

相关文章
|
8天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
22 2
|
1月前
|
网络协议 Ubuntu 网络安全
|
1月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
72 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
1月前
|
资源调度
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
37 2
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
264 3
|
2月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
87 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
2月前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
166 1
|
1月前
|
Ubuntu 网络协议 Linux
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
liunx各大发行版(centos,rocky,ubuntu,国产麒麟kylinos)网卡配置和包管理方面的区别
108 0
|
2月前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
235 3
|
2月前
|
Ubuntu 开发工具 虚拟化
MacOS系统基于VMware Fusion配置Ubuntu 22.04LTS环境
这篇文章介绍了如何在MacOS系统上使用VMware Fusion虚拟化软件配置Ubuntu 22.04 LTS环境,包括自定义VMware Fusion网段、Ubuntu系统安装、配置root用户登录、设置静态IP地址、修改默认网卡名称、配置PS1变量、设置登录界面为字符界面、修改软件源和进行vim基础优化等步骤。
329 2