Drawn By XKError
616 字
3 分钟
Frp服务端部署
Waiting for api.github.com...
📃 前言
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。(摘自原项目md)
🧰 安装准备
WARNING1.开始之前确保你有一个有公网IP的服务器💦
2.官方没有提供linux x86的预编译包,需要自行通过源码编译
下载 Frp Release 预编译包,注意选择自己服务器对应架构的包。
TIP热知识:Linux系统使用
uname -m查看架构
比如我使用的服务器为 ubuntu x64 系统,就应该下载 frp_0.65.0_linux_amd64.tar.gz
包内文件结构:
frp_0.65.0_linux_amd64/
├── frpc
├── frpc.toml
├── frps
├── frps.toml
└── LICENSE其中 frp 后缀分别对应服务端 Server 和客户端 Client,.toml后缀为配置文件。
找到需要的文件后可以复制下载链接后wget或者下载后直接传到服务器上。
📂 配置部署
# 下载对应架构包
wget https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_linux_amd64.tar.gz
# 解压缩文件
tar -xvzf frp_0.65.0_linux_amd64.tar.gz
# 删除客户端不需要的文件
rm frp_0.65.0_linux_amd64.tar.gz frp_0.65.0_linux_amd64/frpc frp_0.65.0_linux_amd64/frpc.toml
# 启动程序
cd frp_0.65.0_linux_amd64
./frps -c frps.toml当然在启动程序之前你还需要写配置文件,示例如下:
# 穿透监听<tcp>
bindAddr = "0.0.0.0"
bindPort = 7000
# 需要内网 http/https 代理穿透时启用
#vhostHTTPPort = 80
#vhostHTTPSPort = 443
# 子域名支持
subDomainHost = "xxxx.com"
# Web 控制面板<tcp>
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "password"
# Log 文件输出
log.to = "./frps.log"
log.level = "info"
log.maxDays = 7
# 客户端连接认证
auth.method = "token"
auth.token = "your-token"更多其他配置参数可以参考官方示例 frps_full_example.toml ,不要忘记在服务器安全组规则放行响应端口哦。这个时候已经可以正常使用了,但是为了确保能够服务器运行或者出现其他程序错误时能够自动重启,可以将其添加到系统服务中。
创建systemd服务文件
sudo vim /etc/systemd/system/frps.service配置文件内容如下,其中<path>换为你的安装路径。./frps -c frps.toml 的绝对路径版本(
[Unit]
Description=FRP Server Service
After=network.target
[Service]
Type=simple
ExecStart=<path>/frps -c <path>/frps.toml
Restart=on-failure
RestartSec=5s
User=root
[Install]
WantedBy=multi-user.target然后刷新启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable frps
sudo systemctl start frps验证启动状态
systemctl status frps显示 active (running) 表示启动成功