博客
关于我
ubuntu自定义一个service制作开机自启脚本,nacos开机自启
阅读量:560 次
发布时间:2019-03-09

本文共 1518 字,大约阅读时间需要 5 分钟。

在Ubuntu上自定义开机自启动的服务

在流行的Ubuntu系统中,开机自启动程序或脚本并不是通过rc.local文件实现的,而是采用更加灵活且功能强大的systemd服务管理方式。以下将详细介绍如何编写自定义的systemd服务,以及如何让服务在系统启动时自动启动。

第一步:编写systemd服务文件

首先,需要通过某种编程方式创建一个systemd服务描述文件。文件通常命名为myselfTest.service,并且放在/etc/systemd/system/目录下。

sudo vim /etc/systemd/system/myselfTest.service

服务内容示例(以Nacos为例):

[Unit]Description=Cclient desktop virtualization serviceAfter=network.target[Service]Type=forkingUser=szydGroup=szydRestart=alwaysTimeoutSec=0ExecStart=/home/ubuntu/installer/nacos/bin/startup.sh -m standaloneExecReload=/home/ubuntu/installer/nacos/bin/shutdown.shExecStop=/home/ubuntu/installer/nacos/bin/shutdown.sh[Install]WantedBy=multi-user.target

服务类型解释:

  • Type=forking:指示systemd如何管理服务进程。如果Type=forking,则服务启动后会继续在后台运行。此时,运行systemctl status将显示服务状态为active
  • Type=simple:指示systemd在启动完成后将停止管理进程。在ExecStart启动完成后,服务将被移出后台。

第二步:编写启动脚本

为了实现特定服务的自定义功能,可能需要编写一个启动脚本,并确保脚本中的变量路径正确。以Nacos服务为例,需在startup.sh中设置明确的绝对路径:

#!/bin/bashexport JDK_HOME=/usr/lib/jvm/java-11-openjdk-debian...

第三步:添加自动启动功能

在Ubuntu 18.04及以上版本,systemctl用于管理服务启动。此外,使用systemctl命令可以轻松配置服务开机启动。

调整服务状态:

sudo systemctl daemon-reloadsudo systemctl enable myselfTest.service# 查看启用状态sudo systemctl is-enabled myselfTest.service# 启动服务sudo service myselfTest start# 查看状态sudo service myselfTest status# 停止服务sudo service myselfTest stop

注意事项:

  • 服务用户及组:请确保服务拥有正确的用户权限,否则可能导致权限错误。
  • 脚本路径:脚本路径需确保绝对正确,避免路径错误。

验证服务启动

  • 查看服务日志:systemctl status myselfTest.service
  • 观察日志输出检查是否有错误提示
  • 使用systemctl try-restart测试重新启动服务

通过以上步骤,可以轻松创建并管理自定义的开机自启动服务。这种方式比传统的方法更加灵活,也更符合现代Linux系统的管理规范。

转载地址:http://fwvpz.baihongyu.com/

你可能感兴趣的文章
openlayers 入门教程(十四):第三方插件
查看>>
openlayers 入门教程(四):layers 篇
查看>>
OpenLayers 项目分析(三)-OpenLayers中定制JavaScript内置类
查看>>
Openlayers下载与加载geoserver的wms服务显示地图
查看>>
Openlayers中使用Cluster+Overlay实现点击单个要素和聚合要素时显示不同弹窗
查看>>
Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合
查看>>
Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合
查看>>
Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度)
查看>>
Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动
查看>>
Vmware系列&虚拟机系列【仅供参考】:使用vCenter Auto Deploy制作ESXI系统封装(适合高版本vSphere)
查看>>
Openlayers中加载GeoJson文件显示地图
查看>>
Openlayers中加载Geoserver切割的EPSG:900913离线瓦片图层组
查看>>
Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示
查看>>
Openlayers中多图层遮挡时调整图层上下顺序
查看>>
Openlayers中实现地图上打点并显示图标和文字
查看>>
Openlayers中实现地图上添加一条红色直线
查看>>
Openlayers中将某个feature置于最上层
查看>>
Openlayers中点击地图获取坐标并输出
查看>>
Openlayers中设置定时绘制和清理直线图层
查看>>
Openlayers入门教程 --- 万字长篇
查看>>