『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 5076|回复: 4

[经验分享] frp 配置分享——“两句话”即可解决无法随系统启动的问题

[复制链接]

1

主题

13

帖子

69

积分

论坛分享达人

积分
69
金钱
56
HASS币
0
发表于 2018-8-24 12:58:51 | 显示全部楼层 |阅读模式
本帖最后由 kingjaywong 于 2018-8-24 17:16 编辑

看到不少朋友在纠结frp不能自动启动。有的是跟随HA启动,有的配置各种延迟脚本。我自己当时在搭frp的时候也遇到这个问题,各种被折腾。研究了半天最后发现了超简单的方法。


Systemd的启动脚本来就提供了各种额外配置项,只要配置得当,frp启动随系统启动也是非常easy的。

众所周知,frp随系统启动失败的问题点就在于frp客户端要和frp服务端建立网络连接,但在系统刚刚启动的时候网络还没有准备好,然后systemd service的默认启动失败后就会退出进程了。
其实我们只要在Service配置中加上Restart相关的选项即可。这个是我的配置,供大家参考:
[Unit]
Description=frpc
After=network.target

[Service]
Type=simple
TimeoutStartSec=30
ExecStart=/usr/local/frp/frp_0.13.0_linux_arm/frpc -c /usr/local/frp/frp_0.13.0_linux_arm/frpc.ini
ExecStop=/bin/kill $MAINPID
Restart=on-failure      #关键配置就在这里,当发生异常的时候,间隔30秒后再次尝试启动。
RestartSec=30

[Install]
WantedBy=multi-user.target

Restart这个配置项还有很多其他选择,但是一般来说on-failure这个配置是最实用的。具体可选配置参考:


no(默认值):退出后不会重启
on-success:只有正常退出时(退出状态码为0),才会重启
on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
on-abnormal:只有被信号终止和超时,才会重启
on-abort:只有在收到没有捕捉到的信号终止时,才会重启
on-watchdog:超时退出,才会重启
always:不管是什么退出原因,总是重启





回复

使用道具 举报

5

主题

72

帖子

864

积分

高级会员

Rank: 4

积分
864
金钱
787
HASS币
0
发表于 2018-8-24 14:56:56 | 显示全部楼层
也可以试试 0.11.0 frpc 新增的 login_fail_exit 参数设置为 false,这样启动时没连上服务器就不会自动退出了,而是每隔30s自动重连。

评分

参与人数 1金钱 +3 收起 理由
jimmytsui + 3 赠人玫瑰,手留余香!

查看全部评分

回复

使用道具 举报

123

主题

4630

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16087
金钱
11372
HASS币
45
发表于 2018-8-24 16:47:46 | 显示全部楼层
哪怕只分享一点干货,都有权限来袭!
回复

使用道具 举报

10

主题

270

帖子

2251

积分

超级版主

Rank: 8Rank: 8

积分
2251
金钱
1961
HASS币
61

教程狂人

QQ
发表于 2018-8-24 17:51:38 | 显示全部楼层
先收藏一波
回复

使用道具 举报

7

主题

141

帖子

403

积分

中级会员

Rank: 3Rank: 3

积分
403
金钱
262
HASS币
0
发表于 2018-10-16 01:05:36 | 显示全部楼层
安装后,SSH无法成功,  HTTP 可以访问我的内网的HA 了。

有谁知道怎么把 MQTT 穿透出来?设置了 TCP协议,貌似不行,OWNTRACKS 无法连接。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-18 07:05 , Processed in 0.267075 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表