Skip to content

Ubuntu Service实现

分别在服务器和客户端配置ngrok service服务

服务端

/opt/ngrok目录内存放应用ngrokd及配置文件

├── a.key
├── a.pem
├── ngrokd
└── ngrokd.sh

其中ngrokd.sh是脚本内容,用于启动ngrokd

#!/bin/bash

cd /opt/ngrokd
./ngrokd -tlsKey=a.key -tlsCrt=a.pem -domain="xxx.xxx.xxx" -httpAddr=":xxxx" -httpsAddr=":xxxx" -tunnelAddr=":xxxx"

/etc/systemd/system/目录内编写ngrokd.service文件

[Unit]
Description= Ngrok
Documentation=https://github.com/inconshreveable/ngrok

[Service]
ExecStart=/bin/bash /opt/ngrokd/ngrokd.sh
Type=simple
KillMode=process
Restart=no
RestartSec=42s

[Install]
WantedBy=multi-user.target

客户端

/opt/ngrok目录内存放应用ngrok及配置文件

├── ngrok
├── ngrok.cfg
└── ngrok.sh

其中ngrok.sh是脚本内容,用于启动ngrok

#!/bin/bash

cd /opt/ngrok
./ngrok -config ngrok.cfg start-all

/etc/systemd/system/目录内编写ngrok.service文件

[Unit]
Description= Ngrok
Documentation=https://github.com/inconshreveable/ngrok

[Service]
ExecStart=/bin/bash /opt/ngrokd/ngrok.sh
Type=simple
KillMode=process
Restart=no
RestartSec=42s

[Install]
WantedBy=multi-user.target

使用

# 重载service配置
$ sudo systemctl daemon-reload
# 启动
$ sudo systemctl start ngrokd.service
# 开机子启动
$ sudo systemctl enable ngrokd.service