- 操作系统: Ubuntu 16.04 x64
Ubuntu 系统下配置程序自动启动有三种常用方法:
- gnome 提供的Startup Application
- init.d 配置守护进程
- systemd 配置守护进程(Ubuntu 14.04 以后版本)
本文介绍通过systemd配置守护进程的方法实现开机自启,以常用的安全隧道软件gost为例,将一个可执行文件配置为系统服务。掌握该方法后,可以在 Ubuntu 上配置任意程序为系统守护进程,实现开机自启。
配置 gost 开机自启
gost是GO语言实现的安全隧道,支持多种网络协议,对多平台有着很好的支持。本文将gost配置为系统服务,从而实现开机自启。
ubuntu系统中,开机自启有很多种实现方案,比如Startup Application, 或者init.d中配置开机脚本,不过ubuntu 14.04之后的版本,比较推荐使用systemd进行管理。systemd 在[阮一峰的文章](## 参考链接)中已经有详细的介绍,此处不做赘述,直接介绍配置的具体细节。
配置方法
第一步,首先下载最新的 gost,并拷贝到/usr/bin/目录下
第二步,在/etc/systemd/system/目录下新建名为gost.service的文件,文件具体内容如下
[Unit]
Description=GOST SERVER
After=network.target
[Service]
Type=simple
EnviromentFile=/path/to/enviroment/file
ExecStart=/usr/bin/gost -L "http2://${USER}:${PASS}@${DOMAIN}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404"
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
其中 ExecStart 为需要执行的命令,后面是启动程序需要传入的参数
USER PASS等变量定义在 EnvironmentFile 中,EnvironmentFile 的格式与shell 脚本类似。
最后,依次运行以下命令启动服务
# 重新加载配置文件
systemctl daemon-reload
# 启动服务
systemctl start gost
进一步改进
研究怎样自动更新gost到最新版本