frp部署配置
一、简介
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。 代理组间的负载均衡。 端口复用,多个服务通过同一个服务端端口暴露。 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。 服务端和客户端 UI 页面。
frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。
二、服务端安装配置
安装环境:
官网github地址:github.com/fatedier/frp
选择选要下载安装包,使用wget安装
wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_linux_amd64.tar.gz
使用tar解压
tar -zxvf frp_0.43.0_linux_amd64.tar.gz
解压之后有这几个文件
其中frps
开头的文件是服务端文件,frpc
开头的文件是客户端文件
编辑服务端配置
vim frps.ini
[common]
bind_port = 7000 #绑定的端口
dashboard_user = admin #控制台用户名
dashboard_pwd = password #控制台密码
dashboard_port = 7500 #控制台的端口
启动服务端
./frps -c ./frps.ini
打开浏览器,访问公网ip:7500
三、使用 systemd 管理 frp 服务
基于单元文件管理 frps 服务
创建frps.service
文件,文件内内容如下:
[Unit]
Description=Frp Server Service # 服务描述
After=network.target # frps 将会在 network.service 启动完毕之后再启动
[Service]
Type=simple # 不论进程是否启动成功,systemctl start 都执行成功
User=nobody # 设置进程在执行时使用的用户
Restart=on-failure # on-failure 表示仅在服务进程异常退出时重启
RestartSec=5s # 设置在重启服务前暂停多长时间
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini # 在启动该服务时需要执行的命令行
[Install]
WantedBy=multi-user.target # 用于 systemctl enable 时创建软连接
将这个文件拷贝到 /usr/lib/systemd/system/
目录下:
cp frps.service /usr/lib/systemd/system/
将配置文件和启动文件拷贝到指定目录
mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
重新加载(未验证)
systemctl reload-daemon
设置开机自启
systemctl enable frps.service
启动frps服务
systemctl start frps.service
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了