记录一个简单的配置模板:
假设我有个go开发的服务叫 posei,那么将下列内容以 posei.service 文件名存放在 /usr/lib/systemd/system/ 目录下。
[Unit]
Description=posei Server
Documentation=https://github.com/xxx/
After=network.target
[Service]
User=root
Type=simple
ExecStart=/usr/local/posei/posei /etc/posei/serverjson
ExecReload=/bin/kill -HUP $MAINPID
PrivateDevices=yes
ProtectHome=true
ProtectSystem=full
PrivateTmp=false
TasksMax=infinity
Restart=on-failure
RestartSec=10
StartLimitInterval=30min
StartLimitBurst=5
LimitNOFILE=200000
LimitCORE=infinity
Environment="GOTRACEBACK=crash"
[Install]
WantedBy=multi-user.target
LimitCORE=infinity
表示core文件大小无限制,配合Environment="GOTRACEBACK=crash"
设置环境变量用于go 程序panic生成coredump
然后执行systemctl daemon-reload
命令使得新加的服务生效。
查看systecm 服务启动日志使用journalctl -xu 服务名
参考资料
1、https://www.jianshu.com/nb/35874971
2、https://zhuanlan.zhihu.com/p/41153588
网友评论