起因
因为有一个 web 项目打包为了 jar,而不是 war,然后发现只有连着 ssh 在服务器上运行才有效果,所以才想着将 jar 包注册为服务。
关于 systemd
systemd 即 system daemon,在 Unix 中常以“d”作为系统守护进程。与传统的 system V 相比,systemd 采用了以下新技术:
- 采用 Socket 激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能;
- 用 Cgroups 代替 PID 来追踪进程,以此即使是两次 fork 之后生成的守护进程也不会脱离 systemd 的控制。
具体实现
首先需要新建一个 xxx.service 的文件,然后填入以下内容
[Unit]
#描述
Description=xxx
#定义启动次序,表示当前unit在哪些unit之后启动
After=syslog.target
[Service]
ExecStart=/路径/java -jar /路径/xxx.jar
[Install]
WantedBy=multi-user.target
当某个 service 文件修改后需要重载一下配置文件
systemctl daemon-reload
后续命令
启动/停止/重启/查看状态
systemctl start/stop/restart/status xxx.service
设置开机自启
systemctl enable xxx.service
查看console log
journalctl -u xxx.service
journalctl -f -u xxx.service
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于