# FRP0.52.3版本部署
> **本教程服务端使用的阿里云服务器,centos7.9系统,客户端本地虚拟机centos7.9系统。**
>
> **服务端:只需要部署frps服务,启动即可,如需更多需求课访问frp官方参考。**
> **客户端:部署frpc服务,目前我代理访问的是本机,如需访问本地多主机,可以使用Nginx配置代理访问。**
> **注:每次修改配置文件,都需要重启服务,即可生效。**
## 1、frp 是什么?
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
## 2、为什么选择 frp?
通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性:
– 多种协议支持:客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。
– TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟。
– 代理组间的负载均衡。
– 端口复用:多个服务可以通过同一个服务端端口暴露。
– P2P 通信:流量不必经过服务器中转,充分利用带宽资源。
– 客户端插件:提供多个原生支持的客户端插件,如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等,以便满足各种需求。
– 服务端插件系统:高度可扩展的服务端插件系统,便于根据自身需求进行功能扩展。
– 用户友好的 UI 页面:提供服务端和客户端的用户界面,使配置和监控变得更加方便。
## 3、下载FRP
frp官网:https://github.com/fatedier/frp
进官网自行选择自己想要下载的版本,根据自己要部署的服务器的类型来选择。
我这里是centos7系统,所以下载的是linux_amd64.tar.gz。
“`bash
wget https://objects.githubusercontent.com/github-production-release-asset-2e65be/48378947/dbb4b12e-609f-4a3e-8938-8a6152a6c568?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20241214%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241214T180818Z&X-Amz-Expires=300&X-Amz-Signature=5eaea14d69b49c4b00564b04fdfec470ae50015af56fb730a8cd87bf7563b3fc&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dfrp_0.52.3_linux_amd64.tar.gz&response-content-type=application%2Foctet-stream
“`
### 3.1、解压压缩包
~~~bash
tar xvf frp_0.52.3_linux_amd64.tar.gz
mv frp_0.52.3_linux_amd64 frp
~~~
## 4、配置服务端(frps)
~~~bash
cd /frp/
vim frps.toml
~~~
![image-20241215132035845](H:\运维资料\frp\assets\image-20241215132035845.png)
~~~bash
# 以下是frps配置的内容,具体内容根据自己需求而定,可以参考官方教程
# frp监听的端口,默认是7000,可以改为其它未使用的端口,客户端连接时需要
bindPort = 7000
# 设置认证模式
auth.method = “token”
# token 密钥,客户端连接需要
auth.token = “oHtGGdmEHRknjJMp”
# http 协议端口,可以随意更改
vhostHTTPPort = 80
# https 协议端口,可以随意更改
vhostHTTPSPort = 443
# 自定义二级域名配置
subdomainHost = “63339.cn”
# frp后台管理地址
webServer.addr = “0.0.0.0”
# 管理端口
webServer.port = 7001
# 账户
webServer.user = “admin”
# 密码
webServer.password = “admin”
#enable_prometheus = true
#log_file = /data/frp/frps.log
#log_level = info
#og_max_days = 3
~~~
![image-20241215133112632](H:\运维资料\frp\assets\image-20241215133112632.png)
#下图为管理界面
![image-20241215133138845](H:\运维资料\frp\assets\image-20241215133138845.png)
### 4.1、设置**systemd**启动
在 Linux 系统下,使用 `systemd` 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。
**1.创建 frps.service 文件**
使用文本编辑器 (如 vim) 在 `/etc/systemd/system` 目录下创建一个 `frps.service` 文件,用于配置 frps 服务。
~~~bash
sudo vim /etc/systemd/system/frps.service
~~~
写入内容
~~~bash
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /data/frp/frps -c /data/frp/frps.toml
[Install]
WantedBy = multi-user.target
~~~
**2.使用 systemd 命令管理 frps 服务**
~~~bash
# 重载systemctl
sudo systemctl daemon-reload
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
# 设置开机自启
sudo systemctl enable frps
~~~
![image-20241215135553087](H:\运维资料\frp\assets\image-20241215135553087.png)
## 5、配置客户端(frpc)
客户端使用的也是centos7环境,所以跟服务端使用的是一个,下载到客户端机器即可。
**1.编辑客户端配置文件(frpc.ini)**
~~~bash
vim frpc.toml
# 公网IP
serverAddr = “0.0.0.0”
serverPort = 7000
auth.method = “token”
# 填写服务端的token值
auth.token = “oHtGGdmEHRknjJMp”
# 案例 代理本地ssh
[[proxies]]
name = “test-tcp”
# 类型
type = “tcp”
localIP = “127.0.0.1”
# 本地端口
localPort = 22
# 监听远端端口
remotePort = 8000
[[proxies]]
name = “web01-tcp”
type = “http”
localIP = “192.168.110.8”
localPort = 80
#remotePort = 7000
# 此处填的web01,访问的完整域名就是web01.63339.cn
subDomain = “web01”
#customDomains = [“63339.cn”]
~~~
### 5.1、设置**systemd**启动
在 Linux 系统下,使用 `systemd` 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。
**1.创建 frpc.service 文件**
使用文本编辑器 (如 vim) 在 `/etc/systemd/system` 目录下创建一个 `frpc.service` 文件,用于配置 frps 服务。
~~~bash
sudo vim /etc/systemd/system/frpc.service
~~~
写入内容
~~~bash
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /data/frp/frpc -c /data/frp/frpc.toml
[Install]
WantedBy = multi-user.target
~~~
**2.使用 systemd 命令管理 frpc 服务**
~~~bash
# 重载systemctl
sudo systemctl daemon-reload
# 启动frp
sudo systemctl start frpc
# 停止frp
sudo systemctl stop frpc
# 重启frp
sudo systemctl restart frpc
# 查看frp状态
sudo systemctl status frpc
# 设置开机自启
sudo systemctl enable frpc
~~~
![image-20241215173935491](H:\运维资料\frp\assets\image-20241215173935491.png)
## 6、测试结果
![image-20241215174056285](H:\运维资料\frp\assets\image-20241215174056285.png)
$$
访问服务端管理界面,查看是否成功,上图所示即成功。
$$
### 6.1、测试http方式访问
![image-20241215174320596](H:\运维资料\frp\assets\image-20241215174320596.png)
$$
测试web01成功,如上图所示。
$$
还没有评论呢,快来抢沙发~