FRP 服务端(frps)部署与配置教程
本文介绍如何在 阿里云轻量应用服务器上部署 [FRP](
https://github.com/fatedier/frp) 服务端(frps),实现内网穿透功能,包括服务配置、端口检查、启动脚本、以及开机自启服务。
阿里云服务器环境是Debian
1. 下载并安装 FRP
以 frp_0.38.0为例,选择与服务器系统架构匹配的版本。
cd /usr/local
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
tar -zxvf frp_0.38.0_linux_amd64.tar.gz
mv frp_0.38.0_linux_amd64 frp
cd frp
下载frp Release v0.38.0 · fatedier/frp · GitHub
配置frps.ini
创建并编辑配置文件:
[common]
bind_port = 7777
kcp_bind_port = 7780
vhost_https_port = 7771
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
log_file = ./frps.log
log_level = info
log_max_days = 3
authentication_timeout = 900
token = kM1FxS15vi11CNTRL。。。。。。。。。
max_pool_count = 50
max_ports_per_client = 0
注意事项
- bind_port 和 kcp_bind_port 不应使用相同端口。
- token 要与客户端保持一致。
- 若启用 dashboard,请确保 dashboard_port 开放。
创建启动脚本
保存为
/usr/local/frp/start_frps.sh:
#!/bin/bash
FRP_DIR=/usr/local/frp
FRPS_BIN=$FRP_DIR/frps
FRPS_INI=$FRP_DIR/frps.ini
LOG_FILE=$FRP_DIR/frps.log
echo "Starting frps..."
nohup $FRPS_BIN -c $FRPS_INI >> $LOG_FILE 2>&1 &
echo "frps started. Check log at $LOG_FILE"
赋权:
chmod +x /usr/local/frp/start_frps.sh
配置开机自启服务(Systemd,推荐)
创建服务文件
/etc/systemd/system/frps.service:
vim /etc/systemd/system/frps.service
添加内容:
[Unit]
Description=FRP Server Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
启动并设置开机自启:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl start frps
sudo systemctl enable frps
执行后
Created symlink /etc/systemd/system/multi-user.target.wants/frps.service → /etc/systemd/system/frps.service.
查看状态与日志:
sudo systemctl status frps
journalctl -u frps -f
检查端口监听脚本(可选)
保存为 check_frps.sh:
#!/bin/bash
PORT=7777
echo "正在检查端口 $PORT 是否被监听..."
if sudo lsof -iTCP:$PORT -sTCP:LISTEN >/dev/null 2>&1; then
echo " 端口 $PORT 正在监听中。"
else
echo " 端口 $PORT 没有监听,请检查 frps 是否已启动。"
fi
echo ""
echo "正在检查 frps 进程..."
if pgrep frps >/dev/null 2>&1; then
echo " frps 进程已启动。"
else
echo " 未找到 frps 进程。"
fi
赋权并运行:
chmod +x check_frps.sh
./check_frps.sh
防火墙与安全组设置
确保以下端口已开放(服务器防火墙 + 云厂商安全组):
- TCP 7777:主通信端口
- TCP 7500:Dashboard(可选)
- UDP 7780:KCP(可选)
验证连接
在客户端执行 frpc,观察服务端日志(frps.log)是否有连接信息
也可以访问远程web端查看frp服务器情况
附:常用命令
# 启动 frps
./frps -c ./frps.ini &
# 查看进程
ps -ef | grep frps
# 查看日志
tail -f ./frps.log
# 停止服务(Systemd)
sudo systemctl stop frps
下一步:frp客户端如何接入frp服务端(Mac OS 环境)