下面以 tomcat 自启动服务为例。首先下载 tomcat 然后解压。
chmod +x *.sh
给所有 .sh 脚本赋予执行的权限
然后在 catalina.sh 加入下面这么一行
CATALINA_PID=/home/soft/apache-tomcat-9.0.7/pid
创建一个名为 tomcat.service 的文件,内容如下
[Unit]
Description=Daemon to start Tomcat
After=network.target
[Service]
#类型为 forking 表示启动之后会产生一个新进程,然后父进程会退出
Type=forking
#将新产生的进程的 ID 存入一个文件当中,由于 linux 中所有一切都是文件
#所以别程序可去读取这个文件获得PID
PIDFile=/home/soft/apache-tomcat-9.0.7/pid
ExecStart=/home/soft/apache-tomcat-9.0.7/bin/catalina.sh start
ExecReload=/home/soft/apache-tomcat-9.0.7/bin/catalina.sh restart
ExecStop=/home/soft/apache-tomcat-9.0.7/bin/catalina.sh stop
[Install]
WantedBy=multi-user.target
然后将些文件上传到 /usr/lib/systemd/system/ 下面再执行
systemctl daemon-reload #重新载入 systemd,扫描新的或有变动的单元
systemctl enable tomcat.server
#这条指令是启动自动启动,这条指定会创建一个软链接到/etc/systemd/system/multi-user.target.wants/tomcat.service
然后就可以启动了
systemctl start tomcat
systemctl status tomcat #查看服务运行状态
#使用 curl http://127.0.0.1:8080 就可以看到效果了。