新版的配置文件有比较大的改动,这里记录一下安装部署过程,官网文档在这里 https://gofrp.org/zh-cn/docs/setup
下载安装地址 https://github.com/fatedier/frp/releases
当前最新版0.60.0

服务端安装

首先是服务端,需要在一台公网机器上部署。
这里我们自己下载 选择自己机器对应平台的压缩包 我这里选https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz

1
2
3
4
5
6
7
8
// 下载
wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
// 解压
tar zxvf frp_0.60.0_linux_amd64.tar.gz
// 进入目录
cd frp_0.60.0_linux_amd64
// 设置可执行权限
chmod +x frps

可以看到目录下有两对执行文件和配置文件, 分别对应客户端(frpc)和服务端(frps)。

1
2
3
4
5
LICENSE
frpc
frpc.toml
frps
frps.toml

编辑配置文件

vim frps.toml 加入如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 服务端监听端口(需要开放安全组端口)
bindPort = 7000
# 服务端监听HTTP端口(需要开放安全组端口)
vhostHTTPPort = 8080
# 鉴权方式为token
auth.method = "token"
# 设置Token,(安全重要) 建议设置复杂一点,对应客户端需要设置一样才能鉴权通过
auth.token = "abcdefg"
# 日志文件最多保留天数,默认为 3 天。
log.maxDays = 7
# 日志级别,可选值为 trace, debug, info, warn, error,默认级别为 info
log.level = "info"
# 日志输出文件路径 (根据自己的实际目录填写)
log.to = "/home/blog/frp_0.60.0_linux_amd64/info.log"

设置开机自启

1
vim /etc/systemd/system/frps.service

加入如下内容(注意替换自己的实际路径)

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/blog/frp_0.60.0_linux_amd64/frps -c /home/blog/frp_0.60.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target
1
2
3
4
// 启动FRP服务并设置开机自启
systemctl enable --now frps
// 查看运行状态
systemctl status frps

** 看到如下日志就服务端启动就OK了 **

1
2
3
4
5
6
7
8
● frps.service - frp server
Loaded: loaded (/etc/systemd/system/frps.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2024-09-09 11:37:27 CST; 5h 9min ago
Main PID: 2677050 (frps)
Tasks: 5
Memory: 13.0M
CGroup: /system.slice/frps.service
└─2677050 /home/blog/frp_0.60.0_linux_amd64/frps -c /home/blog/frp_0.60.0_linux_amd64/frps.toml

客户端安装

下载的还是同一个压缩包,这些步骤就不重复说明了。
我这里连安装目录也都放的和服务机器一致。 解压之后,赋予客户端可执行权限

1
2
// 设置可执行权限
chmod +x frpc

编辑配置文件

编辑客户端配置文件
vim frpc.toml 有如下几种配置场景。可以直接看官网文档!挺详细的 https://gofrp.org/zh-cn/docs/examples/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 填服务端机器的公网IP
serverAddr = "x.x.x.x"
# 和服务端保持一致
bindPort = 7000
# 和服务端保持一致
vhostHTTPPort = 8080
# 鉴权方式为token
auth.method = "token"
# TOKEN 客户端需要设置和服务端一样才能鉴权通过
auth.token = "abcdefg"
# 日志文件最多保留天数,默认为 3 天。
log.maxDays = 7
# 日志级别,可选值为 trace, debug, info, warn, error,默认级别为 info
log.level = "info"
# 日志输出文件路径 (根据自己的实际目录填写)
log.to = "/home/blog/frp_0.60.0_linux_amd64/info.log"

# 公众号调试代理
[[proxies]]
name = "mp-web"
type = "http"
localPort = 8080
customDomains = ["temptest.blog.dollcode.cn"]

# SSH登录代理
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

设置开机自启

方法和在服务端机器操作一模一样,仅仅需要修改 frps 为 frpc 即可

1
vim /etc/systemd/system/frpc.service

加入如下内容(注意替换自己的实际路径)

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/blog/frp_0.60.0_linux_amd64/frpc -c /home/blog/frp_0.60.0_linux_amd64/frpc.toml

[Install]
WantedBy = multi-user.target
1
2
3
4
// 启动FRP服务并设置开机自启
systemctl enable --now frpc
// 查看运行状态
systemctl status frpc