如何在Windows上和Linux上配置自启动服务?
我们以 FastTunnel 这个内网穿透工具为例,其中Server端的程序运行在Linux上,Client端的程序运行在Windows上。关于这个程序的配置请参考官方文档: 快速上手:快速搭建服务。为了避免每次手动启动程序,我们把它们做成开启自启动的服务,这样你就可以无缝使用远程桌面了。
Windows
- 下载 nssm http://nssm.cc/download
- 下载 FastTunnel 客户端,解压到任意目录,例如:F:\Program Files\FastTunnel.Client.win-x64
- 在nssm的目录下打开命令行(必须用管理员权限),并用如下命令安装:
1
2
3
4# DisplayName和Description可以随意写。
nssm install FastTunnel "F:\Program Files\FastTunnel.Client.win-x64\FastTunnel.Client.exe"
nssm set FastTunnel DisplayName FastTunnel
nssm set FastTunnel Description FastTunnel for remote desktop - 搜索Services并打开在Services列表里找到刚刚创建的服务。
右键,打开属性面板,确保Startup为自动。
设置失败后自动重启(对于一个稳定的软件,你可以选择无限重启)
手动start这个服务。
搞定!
Linux
将软件解压到 FastTunnel.Server.linux-x64 目录下
按照如下配置新建一个文件 FastTunnel.service,并复制到 /etc/systemd/system/ 目录下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# copy the file to
# /etc/systemd/system/FastTunnel.service
[Unit]
Description=FastTunnel service
After=network.target
[Service]
User=[username]
Group=[username]
WorkingDirectory=/home/[username]/FastTunnel.Server.linux-x64
ExecStart=/home/[username]/FastTunnel.Server.linux-x64/FastTunnel.Server
[Install]
WantedBy=multi-user.target开启服务
1
2sudo systemctl enable FastTunnel
sudo systemctl start FastTunnel重新加载服务
1
sudo systemctl daemon-reload
重启服务
1
sudo systemctl restart FastTunnel
停止服务
1
sudo systemctl stop FastTunnel
如何在Windows上和Linux上配置自启动服务?
http://yoursite.com/posts/19904/