使用systemctl控制frp服务开机自启
linux设置frp服务(举例)开机自启动,当属systemctl
方便好用
创建服务文件
sudo nano /etc/systemd/system/frpc.service
在frps.service里写入以下内容,ExecStart自行替换为实际目录
[Unit]
Description=frps client
After=network.target
Wants=network.target[Service]
Restart=on-failure
RestartSec=5
ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini[Install]
WantedBy=multi-user.target
启动
systemctl daemon-reload
systemctl enable frpc
reboot
其它常用命令
systemctl daemon-reload
systemctl enable frpc
systemctl disable frpc
systemctl start frpc
systemctl stop frpc
systemctl list-units
systemctl --failed
连接成功
通过阿里云的外网ip成功SSH
systemctl错误排查
中间因为个人原因,导致外网ssh失败,当时一看服务没启动,场面一度很尴尬(啪啪打脸),贴上排错过程
systemctl status frpc
查看服务状态,分析错误
可以看出应该是启动太早了,网络还没有准备好,既然知道原因,我们就设置服务的重启行为。
修改frpc.service文件
sudo nano /etc/systemd/system/frpc.service
在[Service]
标签中加入
Restart=on-failure
RestartSec=5
/etc/systemd/system/frpc.service文件
[Unit]
Description=frps client
After=network.target
Wants=network.target[Service]
Restart=on-failure
RestartSec=5
ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini[Install]
WantedBy=multi-user.target