CSGO
V2EX  ›  问与答

lede 如何使用 systemctl 来创建自启动 frp?

By CSGO at 2020 年 9 月 12 日 · 6354 次点击

我是使用 GitHub 最新版的 frp 部署了服务器和软路由,但是按照教程,应该在 /lib/systemd/system 下创建 frpc.service:

[Unit] Desctiption = frpc service After = network.target syslog.target Wants = network.target

[Service] Type = simple ExecStart = /mnt/sda5/frp_0.33.0_linux_amd64/frpc -c /mnt/sda5/frp_0.33.0_linux_amd64/frpc.ini

[Install] WantedBy = multi-user.target

结果发现保存不了:'/lib/systemd/system/frpc.service' No such file or directory 。

才发现软路由根本 lib 下就没有 systemd 文件夹,所以服务器端这样成功开启了 frps,因为是 centos 系统的缘故吗?软路由没有类似这个自动启的东西吗?

第 1 条附言  ·  2020 年 9 月 12 日
按照楼下教材:

编辑 /etc/init.d/frp:#!/bin/sh /etc/rc.common START=90STOP=90SERVICE=frpcUSE_PROCD=1PROC="/root/frp/frpc -c /root/frp/frpc.ini" start_service() { procd_open_instance procd_set_param command $PROC procd_set_param respawn procd_close_instance } service_triggers(){ procd_add_reload_trigger "rpcd"}


然后输入:/etc/init.d/frp start 回车提示没有权限,我就给 frp 777 权限,再次执行,就提示:

root@Openwrt:~# /etc/init.d/frp start
-ash: /etc/init.d/frp: not found

咋办?
15 条回复  •  2020-09-14 09:55:49 +08:00
0ZXYDDu796nVCFxq
   1
0ZXYDDu796nVCFxq  
   2020 年 9 月 12 日   ❤️ 2
https://juejin.im/post/6844904014446854158
用文章里的这个脚本『 OpenWRT/LEDE (编辑 /etc/init.d/frp )』
Jirajine
   2
Jirajine  
   2020 年 9 月 12 日 via Android   ❤️ 2
别闹,lede 啥时候用 systemd 了。

自启动的话,最简单的是直接把命令写到 /etc/rc.local 里面。或者做成系统服务 /etc/rc.d/里面,具体参考 openwrt 官网的文档。
CSGO
   3
CSGO  
OP
   2020 年 9 月 12 日
WebKit
   4
WebKit  
   2020 年 9 月 12 日 via Android
lede 直接在软件中心下载 frp 就行了。自带的就有
CSGO
   5
CSGO  
OP
   2020 年 9 月 12 日
@gstqc

root@Openwrt:~# /etc/init.d/frp start
-ash: /etc/init.d/frpc: Permission denied

修改了权限 777 后:

root@Openwrt:~# /etc/init.d/frp start
': No such file or directory.common
CSGO
   6
CSGO  
OP
   2020 年 9 月 12 日
@WebKit 自带感觉有 bug 。
WebKit
   7
WebKit  
   2020 年 9 月 12 日 via Android
@CSGO 有什么 bug ?我稳定用了几个月了,没发现 bug
0ZXYDDu796nVCFxq
   8
0ZXYDDu796nVCFxq  
   2020 年 9 月 12 日
@CSGO 你在 /etc/init.d/frp 里填错内容了吧
6IbA2bj5ip3tK49j
   9
6IbA2bj5ip3tK49j  
   2020 年 9 月 12 日
https://github.com/kuoruan/luci-app-frpc
https://github.com/kuoruan/openwrt-frp
既然对 linux 这些东西不熟,就不要为难自己了。
ysc3839
   10
ysc3839  
   2020 年 9 月 12 日 via Android
ysc3839
   11
ysc3839  
   2020 年 9 月 12 日 via Android
@ysc3839 官方源的 frp 已经包含了启动脚本了,安装后即可使用。

另外,OpenWrt 不使用 systemd,使用的是 procd 。所以不能用 systemd 的服务配置,需要使用 procd 的启动脚本。
CSGO
   12
CSGO  
OP
   2020 年 9 月 12 日 via Android
@gstqc 我就复制过来,修改了下路径。
cctv6
   13
cctv6  
   2020 年 9 月 12 日
我记得 frp 从 github 下载下来,里面就包含了 systemctl 的 service 文件,只要拷贝到 systemd 对应的目录下就可以了,目录应该是:/usr/lib/systemd/system 。systemd 的具体用法可以看 systemd 的文档,或者看看阮一峰写的一个快速教程。

还有一个问题,就是楼上说的 lede 不是用的 systemd 。如果不是 systemd 的话,要创建自启动,就可以看看 rc.local,开机的时候执行一下脚本,在脚本里写一下启动 frp 的命令就好了。
CSGO
   14
CSGO  
OP
   2020 年 9 月 12 日 via Android
我把酷软里的 frp 升级到了最新版,可以用了。
baobao1270
   15
baobao1270  
   2020 年 9 月 14 日 via Android
1. 普通 linux 直接用 release 包里的 systemd 配置就行了
2. 路由器请使用 luci-app-frpc 谷歌搜一下 eSirPlayground 编译的 ipk 文件
© 2026 V2EX · 49ms · 3.9.8.5