frp服务器端程序frps自启动出错

在CentOS8上部署frps并尝试设置自启动时遇到问题,启动frps.service时出现激活(auto-restart)失败,错误代码为exit-code。尝试修改frps.service文件,将User=nobody改为User=root后,服务成功启动并正常运行。可能的原因是系统中只有一个root用户,使用nobody用户时存在权限问题。
摘要由CSDN通过智能技术生成

frp服务器端程序frps自启动出错

在centos8上部署frps设置自启动报错:

[root@server]#tar -zxvf frp_0.36.2_linux_amd64.tar.gz
[root@server]#mv frp_0.36.2_linux_amd64 frp
[root@server]#ln -s '/root/soft/frp/systemd/frps.service' '/etc/systemd/system/multi-[root@server]#user.target.wants/frps.service'
[root@server]#systemctl daemon-reload
[root@server]#systemctl start frps.service
[root@server]#systemctl status frps.service #报错如下:
● frps.service - Frp Server Service
   Loaded: loaded (/root/soft/frp/systemd/frps.service; bad; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Tue 2021-04-27 06:29:02 EDT; 4s ago
   Process: 7802 ExecStart=/root/soft/frp/frps -c /root/soft/frp/frps.ini (code=exited, status=203/EXEC)
   Main PID: 7802 (code=exited, status=203/EXEC)

Apr 27 06:29:02 racknerd-d123c3 systemd[1]: frps.service: Main process exited, code=exited, status=203/EXEC
Apr 27 06:29:02 racknerd-d123c3 systemd[1]: frps.service: Failed with result 'exit-code'.

不是由于路径错误或者是没有执行权限,或者是由于是shell脚本没有在脚本路径之前添加/bin/bash如ExecStart=/bin/bash /scripts/path/script.sh;
因为ExecStart=后的命令直接运行时完全没问题的:

[root@server]# /root/soft/frp/frps -c /root/soft/frp/frps.ini
2021/04/27 06:29:21 [I] [root.go:200] frps uses config file: /root/soft/frp/frps.ini
2021/04/27 06:29:21 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000
2021/04/27 06:29:21 [I] [root.go:209] frps started successfully
2021/04/27 06:29:22 [I] [service.go:449] [0c4fbb5294a23bbd] client login info: ip [111.0.11.111:48544] version [0.36.2] hostname [] os [linux] arch [amd64]
2021/04/27 06:29:22 [I] [tcp.go:63] [0c4fbb5294a23bbd] [ssh] tcp proxy listen port [6666]
2021/04/27 06:29:22 [I] [control.go:446] [0c4fbb5294a23bbd] new proxy [ssh] success

试了多种方法无果,最后修改了官方的frps.service文件【将User=nobody 改为 User=root】后systemctl daemon-reload;systemctl start frps.service;完美解决:

[root@server frp]# systemctl start frps.service
[root@server frp]# systemctl status frps.service
● frps.service - Frp Server Service
   Loaded: loaded (/root/soft/frp/systemd/frps.service; bad; vendor preset: disabled)
   Active: active (running) since Tue 2021-04-27 06:45:28 EDT; 3s ago
 Main PID: 8265 (frps)
    Tasks: 3 (limit: 6706)
   Memory: 13.0M
   CGroup: /system.slice/frps.service
           └─8265 /root/soft/frp/frps -c /root/soft/frp/frps.ini
Apr 27 06:45:28 server systemd[1]: Started Frp Server Service.
Apr 27 06:45:28 server frps[8265]: 2021/04/27 06:45:28 [I] [root.go:200] frps uses config file: /root/soft/frp/frps.ini
Apr 27 06:45:28 server frps[8265]: 2021/04/27 06:45:28 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000
Apr 27 06:45:28 server frps[8265]: 2021/04/27 06:45:28 [I] [root.go:209] frps started successfully
Apr 27 06:45:29 server frps[8265]: 2021/04/27 06:45:29 [I] [service.go:44x] [0c4fbb5294a23bbx] client login info: ip [111.0.16.111:49402] version [0.36.2] hostname [] os [linux] arch [amd64]
Apr 27 06:45:29 server frps[8265]: 2021/04/27 06:45:29 [I] [tcp.go:63] [0c4fbb5294a23bbx] [ssh] tcp proxy listen port [6868]
Apr 27 06:45:29 server frps[8265]: 2021/04/27 06:45:29 [I] [control.go:446] [0c4fbb5294a23bbx] new proxy [ssh] success

具体原因未知:我的客户端软件fprc运行在有除添加了root外其他用户的centos8 上,在frpc.server文件中使用User=nobody可正常运行,但我的服务器上是只有root一个用户,运行服务器端软件fprs时使用User=nobody就会报错,须将nobody改为root,方可正常,猜测可能是由于只有一个root用户时导致的未知权限bug。(未做交叉测试:即未在成功运行User=nobody的客服端软件的机器上运行User=nobody的服务器端软件,看其出不出错,从而确认我的猜想)

转载: Bluesky’s blog » frp服务器端程序frps自启动出错.

要搭建win2008系统的frp服务器,首先要确保系统已安装好了,并准备好了所需的软件和工具。以下是详细的步骤: 1. 下载并安装Frpc和Frp服务器:在GitHub上找到Frp项目,下载适用于Windows Server 2008系统的Frp服务器文件,解压缩安装包并运行安装程序。 2. 配置Frp服务器:打开Frp服务器的安装目录,找到frps.ini文件并用文本编辑器打开。根据需求,配置文件中的主要参数包括服务绑定的IP地址、端口号、令牌和日志文件路径等。确保配置文件中各个参数的正确性,保存并关闭文件。 3. 设置系统防火墙规则:在Windows Server 2008系统中,打开“控制面板”>“Windows 防火墙”,点击“启用或关闭Windows防火墙”。选择“关闭(不推荐)”,保存并关闭设置。 4. 启动Frp服务器:在Frp服务器安装目录中,双击运行frps.exe文件,使服务器运行起来。 5. 测试Frp服务器:在其他设备或计算机上,下载并安装Frpc客户端。然后,在终端或命令提示符中运行frpc.exe,通过命令行参数或配置文件指定Frp服务器的IP地址、端口号、令牌等参数。成功连接到Frp服务器后,即可通过该服务器访问内部服务器或服务。 需要注意的是,以上只是简要的搭建Frp服务器的步骤,根据具体的需求和网络环境,还可能需要进行一些其他的配置和调整。此外,为了保证系统和网络的安全性,还需考虑防火墙和路由器等设备的设置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值