Ubuntu18.04添加服务并设置开机启动

问题提出场景:装了一个mycat,想直接设置开机启动

网上一大堆教程,不是你抄我就是我抄你,很多Ubuntu的新特性没搞明白就乱发文章了,没办法只能自己总结经验了;

我这里采用systemctl添加服务的方法

一、Ubuntu18.04的改动

ubuntu-16.10 开始不再使用initd管理系统,改用systemd。用 systemctl 命令来替换了 service 和 chkconfig 的功能。

比如以前启动 mysql 服务用:

sudo service mysql start

现在用:

sudo systemctl start mysqld.service

所以我采用了增加systemd服务的方法;

二、systemctl配置

systemctl service服务文件夹在/lib/systemd/system(基本服务文件夹)与/etc/systemd/system(开机启动文件夹)。先添加基本服务,所以在/lib/systemd/system下创建mycat.service,内容如下:

[Unit]
Description=mycat service

[Service]
Type=forking

ExecStart=/usr/local/mycat/bin/mycat start
ExecReload=/usr/local/mycat/bin/mycat restart
ExecStop=/usr/local/mycat/bin/mycat stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
Alias=mycat.service

[Unit] 段: 启动顺序与依赖关系,如After=network.target,就说明在network.target服务启动之后。

[Service] 段: 启动行为,如何启动,启动类型,看上面的配置就知道意义了;

[Install] 段: 定义如何安装这个配置文件,即怎样做到开机启动

弄好了上面的配置之后运行如下命令让服务生效,有的时候需要重启电脑才能生效,这是很多教程没提到的情况!

 sudo systemctl daemon-reload

重载后运行sudo systemctl start mycat.service

如果想加到开机启动,就运行

sudo systemctl enable mycat.service

这个时候系统会自动加载mycat.service到/etc/systemd/system文件夹下,很多教程直接自己链接过去,不推荐那么干,因为有的自己链接会出现未知的错误,很难找到原因,容易翻车。

三、运行mycat可能出现的原因

运行sudo systemctl start mycat.service会只出现一个wrapper,而且查看wrapper.log会报错:

这是因为你的wrapper没有配置Java路径,在conf/wrapper.conf里设置

wrapper.java.command=/usr/local/jdk1.8.0_211/bin/java

就可以了。

  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值