# 编写 frp service 文件,以 ubuntu 为例
vim /usr/lib/systemd/system/frps.service (有时候需要手动创建system文件夹)
# 内容如下,注意我放在/home/ubuntu/下面,放哪里看个人。另外这里面不能用~这种转义符号,一定要写绝对路径,因为不同用户登录会转到不同用户下,会产生歧义。
以前我写成,死活不会执行
ExecStart=~/frps -c ~/frps.ini
下面的正确的写法,要写成绝对路径
[Unit]
Description=frps
After=network.target
[Service]
TimeoutStartSec=30
Restart=on-failure
RestartSec=5
ExecStart=/home/ubuntu/frps -c /home/ubuntu/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
启动 frp 并设置开机启动
systemctl enable frps
systemctl start frps
systemctl status frps
# 部分服务器上,可能需要加 .service 后缀来操作,即:
systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service
frps 或 frpc 启动无效时,可以尝试先停止服务
systemctl stop frpc
另外一台机器是在办公室里的,平时通过fprc连上这个frps服务,这样就可以在家里远程办公了
sudo vim /lib/systemd/system/frpc.service
内容如下 ,ExecStart=/home/user/frpc/frpc -c /home/user/frpc/frpc.ini
上面标红的要改成你fprc的路径,另外frpc要给上执行权限 chmod 777 fprc
[Unit]
Description=frpc
After=network.target
[Service]
TimeoutStartSec=30
Restart=on-failure
RestartSec=5
ExecStart=/home/user/frpc/frpc -c /home/user/frpc/frpc.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
将服务注册到系统,这样重启动机器也会好用了。
sudo systemctl enable frpc
sudo systemctl start frpc
sudo systemctl status frpc
在启动的服务中增加了
Restart=on-failure
RestartSec=5
因为发现有时启动时一次没有启动起来,还是增加一种重启动机制比较靠谱