Sentinel&Nacos注册为Linux服务

一、环境准备

因为每次启动服务器/虚拟机都要重新启动Nacos和Sentinel等一堆东西,所以为了方便将Nacos和Sentinel注册为Linux的服务,并设置开机自启。

首先我们在我们的服务器上面准备以下文件:

  • Nacos
  • Sentinel

二、编写Nacos.service与Sentinel.service文件

首先我们需要在/usr/lib/systemd/system/目录下创建如下服务文件

Nacos.service文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=Nacos service
After=network.target

[Service]
PrivateTmp=true
Restart=on-failure
RestartSec=5
Type=forking
ExecStart=/bin/bash /home/nacos/bin/startup.sh #启动命令 启动脚本换成自己对应的目录即可
ExecStop=/bin/bash /home/nacos/bin/shutdown.sh #停止命令 停止脚本换成自己对应的目录即可

[Install]
WantedBy=multi-user.target

Sentinel.service

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=Sentinel-Dashboard service
After=network.target

[Service]
PrivateTmp=true
Restart=always
RestartSec=5
ExecStart=/usr/software/jdk-11.0.14/bin/java -Dserver.port=8858 -Dproject.name=sentinel-dashboard -jar /home/sentinel-dashboard/sentinel-dashboard-1.8.6.jar #启动命令
ExecStop=/usr/bin/kill -15 $MAINPID #停止命令

[Install]
WantedBy=multi-user.target

这里要注意一下,service文件中的Java环境为你自己服务器中的jdk绝对目录

三、启动服务并设置开机自启

  1. 启动服务执行以下命令:

    systemctl start nacos.service

    systemctl start sentinel.service

  2. 停止服务执行以下命令:

    systemctl stop nacos.service

    systemctl stop sentinel.service

  3. 设置服务开机自启执行以下命令:

    systemctl enable nacos.service

    systemctl enable sentinel.service

  4. 关闭服务开启自启执行以下命令:

    systemctl disable nacos.service

    systemctl disable sentinel.service

如果对服务文件进行了编辑,在编辑后需要执行以下命令重新加载服务文件:

systemctl daemon-reload nacos.service

systemctl daemon-reload sentinel.service

查看服务日志使用以下命令:

journalctl -f -u 服务名

-f 参数为滚动实时打印日志,如果不需要可以不加。