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  重启测试,看是否可以自动启动服务。

相关文章
|
4月前
|
监控 Ubuntu Linux
在Ubuntu环境中制定脚本开机自动启动设置
以上就是在Ubuntu环境下制定脚本开机自动启动的设置方法。通过Systemd服务,你可以按需要轻松管理脚本的自动执行。全新的一天开始时,脚本已静静地运行,无需额外手动启动,机器恰如一位忠诚的仲夏夜的梦想者,在黎明的许诺中尽职尽责。于是心满意足地看着,任由它在自己选择的轨道上静静地飞翔。
474 26
|
3月前
|
Ubuntu jenkins 机器人
在Jenkins上配置触发Ubuntu环境的图形用户界面(GUI)构建任务。
以上,这趟融合了技术与艺术的Jenkins配置之旅就告一段落了。记住,技术应当像艺术一样有趣和生动,这样才能激发出最大的创新和效率。
105 2
|
4月前
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
149 5
|
5月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
621 30
|
5月前
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
317 13
|
5月前
|
Ubuntu 网络协议
在Ubuntu 18.04服务器上配置双网口以接入互联网
总结一下,配置双网口在Ubuntu 18.04服务器就像一场冒险游戏,你小心翼翼地从查看网络布局开始,铺设新线路,最后得到了通往互联网的双重通道。祝你在网络世界的冒险旅程中更上一层楼!
186 11
|
6月前
|
NoSQL Ubuntu 网络安全
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
250 1
|
11月前
|
网络协议 Ubuntu 网络安全
|
11月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
320 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
11月前
|
资源调度
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
128 2
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败