前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个程序的 Systemd 启动

一个程序的 Systemd 启动

作者头像
zhangheng
发布2020-04-28 18:00:50
1.8K0
发布2020-04-28 18:00:50
举报

在之前的文章里,我们了解了一个webhooks的使用。那么如何使用 Systemd 启动并守护webhooks呢。

一.部署应用

首先部署程序到指定的位置。

假设,我们的程序在/foo/bar/webhook,配置文件在/foo/bar/hooks.json.

编写systemd配置文件

我们在/etc/systemd/system文件夹中编写文件webhooks.service,内容如下:

代码语言:javascript
复制
[Unit]
Description=webhooks https://github.com/adnanh/webhook

Wants=network-online.target

After=network.target

[Service]
Type=simple

ExecStart=/fool/bar/webhook -port 9001 -hooks /fool/bar/hooks.json -verbose -hotreload

Restart=always
User=root
Group=root


[Install]
WantedBy=multi-user.target
Alias=webhooks

配置文件解释

简单解释一下,上面的配置文件的几个参数。

Unit区块的Description字段,是服务的简单描述。

Service区块的字段含义如下。

  • ExecStart:启动命令
  • Restart:如何重启。always表示如果进程退出,总是重启
  • Type:启动方式。simple意思是Ctrl+c才能退出的程序。
  • User:以什么用户启动
  • Group:以什么组启动

Install区块的WantedBy字段指定,设为开机启动时,该服务所在的 Target 是multi-user.target。Alias别名字段是指命令启动该服务时可以不用webhooks.service直接用webhooks

启动服务

代码语言:javascript
复制
# 重载配置文件
$ sudo systemctl daemon-reload

# 启动服务
$ sudo systemctl start webhooks

查看状态

如果启动失败,或者想查看日志,就要执行下面的命令。

代码语言:javascript
复制
# 查看状态
$ sudo systemctl status webhooks

# 查看日志
$ sudo journalctl -u webhooks

# 实时输出最新日志
$ sudo journalctl -f -u webhooks

在shell中输入以下命令:

代码语言:javascript
复制
journalctl -f -u webhooks
代码语言:javascript
复制
curl http://127.0.0.1:9001/hooks/test_or_your_id

如果看到日志有响应则代表服务启动成功

重启服务和停止服务

代码语言:javascript
复制
# 重启服务
$ sudo systemctl restart webhooks

# 停止服务
$ sudo systemctl stop webhooks

如果想设为开机启动,就要执行systemctl enable。

代码语言:javascript
复制
$ sudo systemctl enable webhooks

如果要取消开机启动,就要执行systemctl disable。

代码语言:javascript
复制
$ sudo systemctl disable webhooks
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.部署应用
  • 编写systemd配置文件
  • 配置文件解释
  • 启动服务
  • 查看状态
  • 重启服务和停止服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com