Ubuntu 开机启动脚本配置

简介: 本文基于Ubuntu 20.04 LTS版本用实例来讲解如何配置开机自启动服务。

1 Ubuntu 概述


       根据百度百科的定义,Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的ubuntu一词,意思是【人性】【我的存在是因为大家的存在】,是非洲传统的一种价值观。Ubuntu基于Debian发行版和Gnome桌面环境,打破了用户认为Linux难以安装和使用的刻板印象。Ubuntu对个人使用、组织和企业内部开发使用是免费的。常用的长期支持的版本为:

  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS

    我们可以从官网进行下载 https://cn.ubuntu.com/download ,官方截图如下所示:

1.jpg

2 Flask 概述


       根据百度百科的定义,Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为"MicroFramework" ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

       下面给出Flask 构建的一个简单的Web应用,kz_run.py 代码如下所示:

fromflaskimportFlaskfromflaskimportrender_template,Response,requestapp=Flask(__name__,static_folder='static',static_url_path='/static')
app.config['JSON_AS_ASCII'] =FalseHOST="0.0.0.0"PORT=9000@app.route('/', methods=['POST','GET'])
deftoken():
ret= {"access_token":"29ebc277-964a-411b-b551-04e5d3b4f6c8",
"token_type":"md5",
"expires_in":23342,
"scope": "server",
"org_name": "Demo of Org" }
returnretif__name__=='__main__':
app.debug=Trueapp.run(host=HOST,port=PORT)
# pip install flask

3 Ubuntu开机执行脚本设置


       这里我们选用Ubutnu 20.04 LTS版本的操作系统,首先登陆操作系统,然后执行如下命令查看python相关版本和安装位置信息:

# 切换到 rootsudosu# python版本python3--versionPython3.8.10# python3 相关文件查找whereispython3python3: /usr/bin/python3.8-config/usr/bin/python3.8/usr/bin/python3/usr/lib/python3.8/usr/lib/python3/usr/lib/python3.9/etc/python3.8/etc/python3/usr/local/lib/python3.8/usr/include/python3.8/usr/share/python3/usr/share/man/man1/python3.1.gz

下面执行 pip show flask 命令,查看flask包安装路径 (/usr/local/lib/python3.8/dist-packages):

# pip show flaskName: FlaskVersion: 2.0.2Summary: Asimpleframeworkforbuildingcomplexwebapplications.
Home-page: https://palletsprojects.com/p/flaskAuthor: ArminRonacherAuthor-email: armin.ronacher@active-4.comLicense: BSD-3-ClauseLocation: /usr/local/lib/python3.8/dist-packagesRequires: click, itsdangerous, Jinja2, WerkzeugRequired-by: Flask-APScheduler

执行 vim /etc/systemd/system/kz-ms.service , 编辑 kz-ms.service 服务脚本,内容如下所示:

[Unit]
Description=Flask Web Service
[Service]
WorkingDirectory=/home/<user>/
ExecStart=/home/kz_boot.sh
User=<user>
Environment="PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.8/dist-packages"TimeoutSec=0RemainAfterExit=yes[Install]
WantedBy=multi-user.target

注意: WorkingDirectory=/home// 中的参数 根据实际情况来定,且目录要存在。   kz_boot.sh 脚本内容如下所示:

#!/bin/shnohup python3 /home/web-flask/kz_run.py &

并且给与执行权限:

chmod+x /home/kz_boot.sh

下面设置服务和启动服务,命令如下所示:

# 重新载入systemctl daemon-reload
# 启用服务 kz-ms.servicesystemctl enable kz-ms.service
# 开启服务 kz-ms.servicesystemctl start kz-ms.service
# 查看状态 kz-ms.servicesystemctl status kz-ms.service
# 停止服务 kz-ms.servicesystemctl stop kz-ms.service
# 重启服务 kz-ms.servicesystemctl restart kz-ms.service

成功启动服务如下所示:

3.jpg

此时打开浏览器,输入Flask web 网址,则可以访问API,示意如下所示:

2.jpg


reboot  重启测试,看是否可以自动启动服务。

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