Loading...  如标题所言,这次的教程肯定就是适用于Linux系统啦。GoFrp官方文档中早已有使用systemctl开启Frps、Frpc的基础教程,网上少有单文件多配置多开Frp教程,那么我就在此写上一手!  <span style='color:#5F9EA0'>注:本教程仅适合使用Frp原版应用,理论上也适合其他程序+配置文件的应用进行多开(如cloudreve),对于Sakura Frp等魔改端,官方已给出教程。</span>  <span style='color:#1E90FF'>2023.7.18更新:</span> 在这加一个提示,如果是版本过新(如:debian12),或是beta版的linux,有可能会导致以下Unit配置文件无法正常使用systemd启动,可以参照注释进行改进。注释可以不写入实际配置文件中。 ---  首先,基本的systemctl命令我们应该都要清楚,如下: ``` 启动:systemctl start <Unit名称> 结束:systemctl stop <Unit名称> 状态:systemctl status <Unit名称> 自启动:systemctl enable <Unit名称> 关闭自启动:systemctl disable <Unit名称> ```  <span style='color:#5F9EA0'>注:Unit名称是你配置文件的名称,并非配置文件中的服务名称(即Description = 后的参数)</span>  其次,一个Unit配置文件一般存在于以下两个目录中,任意存放都可,一般会选择放在第二个以符合规范。 ``` /lib/systemd/system ------可能部分系统会是/usr/lib/systemd/system /etc/systemd/system ```  配置文件的命名方式在此开始有所不同,示例指令: ``` vim /etc/systemd/system/frpcc@.service ```  你可以看到在frpc后面多出了@ 参数。  接下来的配置文件撰写部分,也是此次多开与单开的不同,这边使用到了 %i 或 %I 参数,用于识别命令Unit名称中 @ 后的参数。这次的 Frp多开教程,我便以Frp为例。  <span style='color:#5F9EA0'>注:看不惯示例中# 开头的注释,可以在正式写入时删除。</span> ``` [Unit] # "frp server"为服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type=simple # User=nobody (可不加) # 若您的Linux版本较高,建议您将 User=nobody 改为 DynamicUser=yes Restart=on-failure RestartSec=60s # 启动frps的命令,将/Your_path1换成你的frpc所在目录,将/Your_path2换成你的frpc.ini即配置所在目录 # 注意%i.ini不要修改,frpc可以改为你的frpc文件的名字 ExecStart = /Your_path1/frpc -c /Your_path2/%i.ini [Install] WantedBy = multi-user.target ```  然后,我们在最开始讲到的启动命令也需要有变化,这个变化仅仅体现在<Unit名称>上,我们使用到了@,以便于i% 进行识别,例如: ``` 保存配置后先reload:systemctl daemon-reload 启动:systemctl start frpcc@frpc.service 当然,启动命令也可以简写为:systemctl start frpcc@frpc 其他的指令以此类推既可 ```  <span style='color:#5F9EA0'>注:最好将所有的frpc.ini配置文件放于同一个文件夹,即目录/Your_path2 ,否则你在打启动命令时会很麻烦,且在Unit配置文件中不能填入/Your_path2。@后的文件名参数不需要输入文件后缀名(格式),因为配置文件中已经给出 </span> ---  最后,frps.ini命名并不是唯一的,也可以是1.ini、2.ini、3.ini,你可以换成其他的命名作为配置文件,只要后缀为.ini即可。多开只需更换@后参数,并多次执行启动命令。  查询所有你开过的隧道可用如下命令 ``` systemctl list-units --all "frpcc@*" ```  添加配置文件可以使用vim或vi等你熟练的软件,并不是指定的。 --- 若你想学得更多关于systemctl的内容,欢迎查阅本文文章参考: ①[帮助文档 - Sakura Frp (natfrp.com)](https://doc.natfrp.com/#/frpc/service/systemd) ②[Linux学习-systemctl 针对 service 类型的配置文件](https://www.cnblogs.com/uetucci/p/7761264.html) ③[使用 systemd | frp (gofrp.org)](https://gofrp.org/docs/setup/systemd/) 最后修改:2023 年 07 月 18 日 © 禁止转载 赞 2 如果觉得我的文章对你有用,请随意赞赏