frp 服务包,包括了 frpc 和 frps 两个可执行程序,其中,frps 是用来在服务器上提供服务的程序。

这篇文章简单记录一下如何以最简单的形式部署 frp 服务。

下载和解压服务包

首先要用 SSH 登录服务器,然后选择一个舒服的目录。

在官方 Github 仓库的 release 页面找到适合你机器的服务包,复制下载链接,使用 wget(或其他工具)下载。

wget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz

接下来用 tar 解压

tar -zxvf frp_0.53.2_linux_amd64.tar.gz

进入工作目录

cd frp_0.53.2_linux_amd64

用 nano 编辑配置文件

nano frps.toml

可以直接复制我的配置文件,自己改各种参数

bindPort = 7000             # 必选 客户端与该端口建立连接      
log.to = "console"          # 可选 通过打印的方式输出日志  
vhostHTTPPort = 2001        # 可选 http代理需要,当访问该端口时跳到对应本地frpc代理
vhostHTTPSPort = 2002       # 可选 https代理需要,当访问该端口时跳到对应本地frpc代理 
transport.tcpMux = true     # tcp流多路复用(优化传输,需一致)

#身份验证

auth.method = "token"          # 验证方法: token
auth.token = "HenryZeng"       # token内容: HenryZeng

#frp服务面板配置

webServer.port = 7500            # 通过 http://IP:7500 可以访问 frp 监控面板
webServer.addr = "0.0.0.0"       # 对绑定到所有IP上(如果不希望对外网开放,可以绑定到内部地址或回环地址上)
webServer.user = "HenryZeng"     # 监控面板的账户名称设置
webServer.password = "YourPass"  # 监控面板的密码设置

然后创建 frp 工作的服务目录,待会把 frps 和 配置一起拷贝进去(如果不希望这样做,可以直接跳到服务管理这个部分)

sudo mkdir -p /etc/frp

拷贝配置

sudo cp frps.toml /etc/frp

拷贝 frps 服务端程序

sudo cp frps /usr/bin

服务管理

在上面的部分,用一个命令行就可以启动 frps 了,但是,一旦服务器重启,或者异常关机。下一次启动的时候,我们还是需要手动执行命令来启动frps,所以,鉴于大部分服务器Linux发行版都支持 systemed 服务管理模式,我们这里也创建一个 systemed 目标,用来管理 frps 服务。


具体做法:

使用 nano (任何你喜欢的编辑器)来创建一个 .service 文件

sudo nano /usr/lib/systemd/system/frp.service

在编辑器里面输入下面的内容

[Unit]
Description=frps Service
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
ExecStart=/usr/bin/frps -c /etc/frp/frps.toml
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy=multi-user.target

按下 Ctrl + X ,按照 Nano 编辑器的要求保存文件。

接下来使用 systemed 的命令行工具 systemctl 来尝试启动一下:

systemctl start frp.service

然后查看状态

systemctl status frp.service

如果看到:

image-20240125213756420

Active: active (running) 表示服务正常启动

这就说明我们的配置都没有任何错误,接下来我们就可以把这个自定义服务设置成开机自启服务了:

systemctl enable frp.service

会看到:

Created symlink /etc/systemd/system/multi-user.target.wants/frp.service → /lib/systemd/system/frp.service.

这样的文字,表示设置成功。