FRPS service 无法启动 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
snipes
V2EX    Linux

FRPS service 无法启动

  •  
  •   snipes 184 天前 2158 次点击
    这是一个创建于 184 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 ubuntu vps 上安装了 FRPS ,并且按照以下方法添加了 FRPS service 。 https://gist.github.com/h1code2/3a749d966ed5ef36e4836d24c3f7d3d8

    使用 frps 命令是可以启动程序,但是使用 frps service 无法启动,运行 sudo systemctl start frps ,始终是 deactivated 。

    ~$ sudo systemctl status frps ○ frps.service - FRP Server Service Loaded: loaded (/etc/systemd/system/frps.service; enabled; vendor preset: enabled) Active: inactive (dead) since Wed 2025-04-09 05:21:21 UTC; 4s ago Process: 11559 ExecStart=/usr/bin/frps -c /usr/local/frps/frps.toml (code=exited, status=0/SUCCESS) Main PID: 11559 (code=exited, status=0/SUCCESS) CPU: 114ms Apr 09 05:21:21 HK frps[11566]: # quic protocol options Apr 09 05:21:21 HK frps[11566]: # transport.quic.keepalivePeriod = 10 Apr 09 05:21:21 HK frps[11566]: # transport.quic.maxIdleTimeout = 30 Apr 09 05:21:21 HK frps[11566]: # transport.quic.maxIncomingStreams = 100000 Apr 09 05:21:21 HK frps[11566]: Apr 09 05:21:21 HK frps[11566]: # Heartbeat configure, it's not recommended to modify the default value Apr 09 05:21:21 HK frps[11566]: [149B blob data] Apr 09 05:21:21 HK frps[11566]: Vim: Finished. Apr 09 05:21:21 HK frps[11566]: [7B blob data] Apr 09 05:21:21 HK systemd[1]: frps.service: Deactivated successfully. 

    请教一下,有没有人知道如何解决?谢谢。

    21 条回复    2025-04-11 12:04:49 +08:00
    Seahurt
        1
    Seahurt  
       184 天前 via Android
    配置文件有可能有问题吧。进程的 exit code 是 0 说明程序正常退出了。
    mk3s
        2
    mk3s  
       184 天前
    开 ssh 我上去看一下
    sn0wdr1am
        3
    sn0wdr1am  
       184 天前
    通常都是配置问题,你的配置文件是/usr/local/frps/frps.toml ?
    yulgang
        4
    yulgang  
       184 天前
    开 ssh 我上去看一下
    koala9527
        5
    koala9527  
       184 天前
    配置一下日志,查看一下日志文件
    Tiande
        6
    Tiande  
    PRO
       184 天前 via Android
    docker 跑比较方便
    NessajCN
        7
    NessajCN  
       184 天前
    把下面两个命令的输出内容贴上来

    ls /usr/local/frps
    cat /usr/local/frps/frps.toml
    chinni
        8
    chinni  
       184 天前   1
    直接 shell 下执行 放前台 就知道原因了。如果前台可以,再考虑服务后的 CWD 和 权限呗。
    aru
        9
    aru  
       184 天前   1
    直接运行 /usr/bin/frps -c /usr/local/frps/frps.toml
    就会知道原因了
    一般来说,要么文件路径不对,要么配置文件有问题
    skiy
        10
    skiy  
       184 天前
    该 gist 漏了一点。没有执行 systemctl daemon-reload
    aloxaf
        11
    aloxaf  
       184 天前
    这日志看着太奇怪了,不仅有 「 blob data 」 还有「 Vim: Finished 」,这是在里面启动了 vim ?究竟怎么写配置才能做到这种效果?

    建议把服务、配置都发出来看一下。
    snipes
        12
    snipes  
    OP
       184 天前
    @aru
    运行完这个/usr/bin/frps -c /usr/local/frps/frps.toml ,系统直接用 vi 打开了 frps.toml 配置文件。
    snipes
        13
    snipes  
    OP
       184 天前
    @NessajCN

    第一个命令
    ls /usr/local/frps
    enable enable.20250409-000000 frps frps.toml

    第二个命令
    cat /usr/local/frps/frps.toml

    bindAddr = "0.0.0.0"
    bindPort = 5443

    # dp port used for kcp protocol, it can be same with 'bindPort'.
    # if not set, kcp is disabled in frps.
    kcpBindPort = 5443

    # udp port used for quic protocol.
    # if not set, quic is disabled in frps.
    quicBindPort = 8443

    # Specify which address proxy will listen for, default value is same with bindAddr
    # proxyBindAddr = "127.0.0.1"

    # quic protocol options
    # transport.quic.keepalivePeriod = 10
    # transport.quic.maxIdleTimeout = 30
    # transport.quic.maxIncomingStreams = 100000

    # Heartbeat configure, it's not recommended to modify the default value
    # The default value of heartbeatTimeout is 90. Set negative value to disable it.
    transport.heartbeatTimeout = 90

    # Pool count in each proxy will keep no more than maxPoolCount.
    transport.maxPoolCount = 5

    # If tcp stream multiplexing is used, default is true
    transport.tcpMux = true

    # Specify keep alive interval for tcp mux.
    # only valid if tcpMux is true.
    # transport.tcpMuxKeepaliveInterval = 30

    # tcpKeepalive specifies the interval between keep-alive probes for an active network connection between frpc and frps.
    # If negative, keep-alive probes are disabled.
    # transport.tcpKeepalive = 7200

    # transport.tls.force specifies whether to only accept TLS-encrypted connections. By default, the value is false.
    # transport.tls.force = false

    # transport.tls.certFile = "server.crt"
    # transport.tls.keyFile = "server.key"
    # transport.tls.trustedCaFile = "ca.crt"

    # If you want to support virtual host, you must set the http port for listening (optional)
    # Note: http port and https port can be same with bindPort
    vhostHTTPPort = 8080
    vhostHTTPSPort = 8443

    # Response header timeout(seconds) for vhost http server, default is 60s
    # vhostHTTPTimeout = 60

    # tcpmuxHTTPConnectPort specifies the port that the server listens for TCP
    # HTTP CONNECT requests. If the value is 0, the server will not multiplex TCP
    # requests on one single port. If it's not - it will listen on this value for
    # HTTP CONNECT requests. By default, this value is 0.
    # tcpmuxHTTPCOnnectPort= 1337

    # If tcpmuxPassthrough is true, frps won't do any update on traffic.
    # tcpmuxPassthrough = false

    # Configure the web server to enable the dashboard for frps.
    # dashboard is available only if webServerport is set.
    webServer.addr = "0.0.0.0"
    webServer.port = 6443
    webServer.user = "admin"
    webServer.password = "lokithor4123"
    # webServer.tls.certFile = "server.crt"
    # webServer.tls.keyFile = "server.key"
    # dashboard assets directory(only for debug mode)
    # webServer.assetsDir = "./static"

    # Enable golang pprof handlers in dashboard listener.
    # Dashboard port must be set first
    # webServer.pprofEnable = false

    # enablePrometheus will export prometheus metrics on webServer in /metrics api.
    # enablePrometheus = true

    # console or real logFile path like ./frps.log
    log.to = "enable"
    # trace, debug, info, warn, error
    log.level = "info"
    log.maxDays = 3
    # disable log colors when log.to is console, default is false
    # log.disablePrintColor = false

    # DetailedErrorsToClient defines whether to send the specific error (with debug info) to frpc. By default, this value is true.
    # detailedErrorsToClient = true

    # auth.method specifies what authentication method to use authenticate frpc with frps.
    # If "token" is specified - token will be read into login message.
    # If "oidc" is specified - OIDC (Open ID Connect) token will be issued using OIDC settings. By default, this value is "token".
    auth.method = "token"

    # auth.additionalScopes specifies additional scopes to include authentication information.
    # Optional values are HeartBeats, NewWorkConns.
    # auth.additiOnalScopes= ["HeartBeats", "NewWorkConns"]

    # auth token
    auth.token = "6vMltzpz9E9ulEgi"

    # userConnTimeout specifies the maximum time to wait for a work connection.
    # userCOnnTimeout= 10

    # Max ports can be used for each client, default value is 0 means no limit
    # maxPortsPerClient = 0

    # If subDomainHost is not empty, you can set subdomain when type is http or https in frpc's configure file
    # When subdomain is test, the host used by routing is test.frps.com
    subDomainHost = "20.198.220.105"

    # custom 404 page for HTTP requests
    # custom404Page = "/path/to/404.html"

    # specify udp packet size, unit is byte. If not set, the default value is 1500.
    # This parameter should be same between client and server.
    # It affects the udp and sudp proxy.
    # udpPacketSize = 1500

    # Retention time for NAT hole punching strategy data.
    # natholeAnalysisDataReserveHours = 168

    # ssh tunnel gateway
    # If you want to enable this feature, the bindPort parameter is required, while others are optional.
    # By default, this feature is disabled. It will be enabled if bindPort is greater than 0.
    # sshTunnelGateway.bindPort = 2200
    # sshTunnelGateway.privateKeyFile = "/home/frp-user/.ssh/id_rsa"
    # sshTunnelGateway.autoGenPrivateKeyPath = ""
    # sshTunnelGateway.authorizedKeysFile = "/home/frp-user/.ssh/authorized_keys"
    snipes
        14
    snipes  
    OP
       184 天前
    @NessajCN
    另外,我运行 file /usr/bin/frps
    得到这个
    /usr/bin/frps: symbolic link to /etc/init.d/frps
    NessajCN
        15
    NessajCN  
       184 天前
    @snipes 你这 frps 程序咋装的
    /etc/init.d/frps 是正常的可执行文件吗?
    建议直接把 frps 执行文件放到 /usr/local/bin/ 里
    然后 /usr/local/bin/frps -c /usr/local/frps/frps.toml
    hxy100
        16
    hxy100  
       184 天前
    重装 frps ,根据你 14 楼的回复,frps 不是有效的二进制文件,软链接指向更是错误的。
    ysc3839
        17
    ysc3839  
       184 天前
    @aloxaf 这是 journalctl 生成的,显示 blob data 是因为存在不可打印字符,可以用-a 参数显示
    spencerseth44
        18
    spencerseth44  
       183 天前
    我之前也碰到过,不过我那次好像是文件权限问题,最后懒的查了,搞个脚本一分钟检查一次进程在不在,不在就 frps -c frps.ini 启一下
    aru
        19
    aru  
       183 天前
    @snipes
    15 和 16 楼已经说的很清楚了
    重新下载 frp 软件包并解压
    拷贝 frps 到 /usr/local/frps/ 目录下
    删除错误的软链接文件
    rm /usr/bin/frps
    ln -s /usr/local/frps/frps /usr/bin/frps
    snipes
        20
    snipes  
    OP
       182 天前
    @aru 嗯,这样是可以的,可能是 FRP 安装脚本的问题,用那个脚本装,/usr/bin/frps 就是一个软链接。谢了。
    julyclyde
        21
    julyclyde  
       182 天前
    “运行完这个/usr/bin/frps -c /usr/local/frps/frps.toml ,系统直接用 vi 打开了 frps.toml 配置文件。”

    可以想象你已经经历过无数错误操作了
    别把一切恶果都推给别人家脚本
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2968 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 13:34 PVG 21:34 LAX 06:34 JFK 09:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86