编写service文件
Redis
vim /etc/systemd/system/redis.service
[Unit]
# 服务描述
Description=Redis Daemon Service
# 服务依赖,再这些服务后启动本服务
After=network.target
# 服务依赖,再这些服务前启动本服务
#Before=nss-lookup.target
[Service]
# 默认值,systemd认为该服务将立即启动,一般运行前台命令
Type=simple
# 启动当前服务的命令
ExecStart=/httx/run/redis-7.2.4/bin/redis-server
# 停止当前服务时执行的命令
ExecStop=/bin/kill -SIGINT $MAINPID
# 定义何种情况 Systemd 会自动重启当前服务,当前是仅在服务进程异常退出时重启(kill 进程会立刻重启)
Restart=on-failure
# 自动重启当前服务间隔的秒数
RestartSec=3s
# 设置进程在执行时使用的用户,当前是root
User=root
# 设置进程在执行时使用的用户组,当前是root
Group=root
[Install]
#表示该服务所在的服务组,当前是服务所在的服务组是multi-user.target
WantedBy=multi-user.target
Tomcat
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
# 命令是daemon模式运行的
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
PIDFile=/opt/tomcat/temp/tomcat.pid
[Install]
WantedBy=multi-user.target
service相关命令
systemctl start 服务名 开启服务
systemctl stop 服务名 关闭服务
systemctl status 服务名 显示状态
systemctl restart 服务名 重启服务
systemctl enable 服务名 开机启动服务
systemctl disable 服务名 禁止开机启动
systemctl daemon-reload 修改服务配置文件后需要重新加载服务
systemctl is-enabled 服务名 查询是否自启动服务