• Date: 2025-06-18

内网穿透 frp 服务部署与使用(含 Mac 客户端与阿里云服务端)

☁️ 阿里云 Ubuntu 上安装与配置 frps(服务端)


1️⃣ 进入工作目录

cd /opt
sudo mkdir frp
cd frp

2️⃣ 下载并上传最新版 frp

GitHub Release 页面:
https://github.com/fatedier/frp/releases

假设你下载的是 frp_0.62.1_linux_amd64.tar.gz

scp /Users/ben/Desktop/frp_0.62.1_linux_amd64.tar.gz root@101.132.248.137:/opt/frp

或者使用阿里云控制台远程上传。

3️⃣ 解压并进入目录

cd /opt/frp
tar -xvf frp_0.62.1_linux_amd64.tar.gz
cd frp_0.62.1_linux_amd64

4️⃣ 编辑 frps.ini 配置文件

nano frps.ini

内容如下:

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = frpadmin123
log_file = ./frps.log
log_level = info
log_max_days = 3

保存退出:Ctrl + O → 回车 → Ctrl + X

5️⃣ 启动 frps 服务端

nohup ./frps -c frps.ini > frps.out 2>&1 &

验证运行:

ps -ef | grep frps

6️⃣ 配置防火墙开放端口

前往阿里云控制台 → 安全组 → 入方向规则,添加:

端口 协议 用途说明
7000 TCP frps 通信端口
7500 TCP 仪表盘访问
80 TCP 可选:绑定域名访问网站

7️⃣ 浏览器测试仪表盘

打开:

http://<你的公网IP>:7500

用户名:admin
密码:frpadmin123


🍎 在 Mac (M4芯片 / Apple Silicon) 上安装并配置 frpc(客户端)


1️⃣ 下载 macOS ARM 版本

curl -LO https://github.com/fatedier/frp/releases/download/v0.62.1/frp_0.62.1_darwin_arm64.tar.gz

2️⃣ 解压文件

tar -zxvf frp_0.62.1_darwin_arm64.tar.gz
cd frp_0.62.1_darwin_arm64

3️⃣ 编辑配置文件 frpc.ini

nano frpc.ini

示例配置 1:带自定义端口与域名

[common]
server_addr = 101.132.248.137
server_port = 7000

[web]
type = http
local_port = 80
remote_port = 80
custom_domains = 00ling.com

[tv]
type = http
local_port = 8096
remote_port = 8096

[disk]
type = http
local_port = 9999
remote_port = 9999

[file]
type = http
local_port = 12345
remote_port = 12345

示例配置 2(可选):TCP 模式 + 域名访问

[common]
server_addr = 101.132.248.137
server_port = 7000

[web]
type = tcp
local_port = 80
remote_port = 80

[tv]
type = tcp
local_port = 8096
remote_port = 8096

[disk]
type = tcp
local_port = 9999
remote_port = 9999

[file]
type = tcp
local_port = 12345
remote_port = 12345

4️⃣ 启动 Flask 本地服务

flask run --host=0.0.0.0 --port=5000

5️⃣ 启动 frpc 客户端

./frpc -c frpc.ini

出现:

[web] start proxy success

即表示连接成功。

6️⃣ 打开网页访问

  • 无域名访问: http://101.132.248.137:8080
  • 有域名访问: http://yourdomain.com

🔁 后台运行与自动启动配置(macOS)


✅ 方法一:shell 脚本 + 后台运行(推荐)

新建脚本文件

nano start_frpc.sh

内容如下:

#!/bin/bash
DIR="$(cd "$(dirname "$0")" && pwd)"
$DIR/frpc -c $DIR/frpc.ini >> $DIR/frpc.log 2>&1 &

赋予执行权限:

chmod +x start_frpc.sh

启动:

./start_frpc.sh

查看:

ps aux | grep frpc
tail -f frpc.log

✅ 方法二:macOS 开机自启(launchd 原生)

创建 plist 文件

mkdir -p ~/Library/LaunchAgents
nano ~/Library/LaunchAgents/com.ben.frpc.plist

内容如下(替换为你的实际路径):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ben.frpc</string>

    <key>ProgramArguments</key>
    <array>
        <string>/Users/ben/Desktop/frp_0.62.1_darwin_arm64/start_frpc.sh</string>
    </array>

    <key>RunAtLoad</key>
    <true/>

    <key>KeepAlive</key>
    <true/>

    <key>StandardOutPath</key>
    <string>/Users/ben/Desktop/frp_0.62.1_darwin_arm64/frpc.stdout.log</string>

    <key>StandardErrorPath</key>
    <string>/Users/ben/Desktop/frp_0.62.1_darwin_arm64/frpc.stderr.log</string>
</dict>
</plist>

加载启动项:

launchctl load ~/Library/LaunchAgents/com.ben.frpc.plist

若要停止开机自启:

launchctl unload ~/Library/LaunchAgents/com.ben.frpc.plist

🧠 小结

模式 功能说明 适用场景
start_frpc.sh 后台运行一次 开发测试、临时访问
launchctl 开机自启 + 守护进程 长期部署、自动重连

目录