编写Linux中frp自启动脚本
2021-12-01 17:54:16

家里有台闲置树莓派和轻量云的服务器顺手折腾一下

1. 启动服务

设置服务名

1
sudo vi /lib/systemd/system/frps.service

写入下列代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Unit]
Description=frps service
#前置服务
After=network.target syslog.target
#后置服务
Wants=network.target
[Service]
Type=simple
Restart=always #当程序退出时,自动重启。
#可以使用非root用户启动,此处我没有设置用户组则注释调
#User=frp
#Group=frp
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=~/frp/frps -c ~/frp/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target

刷新服务

1
systemctl daemon-reload

服务自启动

1
systemctl enable frps

重启服务

1
systemctl restart frps

2. 删除服务

生成的软连接所在位置,一般在需要删除该自启动脚本时同时删除

1
2
3
/etc/systemd/system/multi-user.target.wants/frps.service

/usr/lib/systemd/system/frps.service

3. 常见问题

问题描述:

1
login to server failed: dial tcp: lookup xxxxxx on [::1]:53: read udp [::1]:45176->[::1]:53: read: connection refused

解决方法:

配置文件中[Common]下的server_addr改为ip地址而非域名

frp部署文档参考 👉 《安装frp》- frp官方文档