前言
上一节已经可以外网访问家里的树莓派,这次继续搭建 web 服务。
步骤
web 服务
(http://公网 IP:8080/water?count=10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# server.py
from flask import Flask, jsonify
from flask import request
app = Flask(__name__)
def home():
return "<h1>Home</h1>"
def water():
count = request.args.get('count', '0')
return jsonify({'count': count})
if __name__ == '__main__':
app.run()返回结果
1
2
3{
"count": "10"
}frp 服务端
修改 frps.ini, 设置 http 访问端口为 8080
1
2
3
4# frps.ini
[common]
bind_port = 7000 //与 frpc.ini 中一致
vhost_http_port = 8080启动 frps
1
./frps -c ./frps.ini
frp 客户端
修改 frpc.ini, local_port 为本地 web 服务的端口,自定义域名
www.yourdomain.com
1
2
3
4
5
6
7
8
9# frpc.ini
[common]
server_addr = 公网 IP
server_port = 7000 //与 frps.ini 中一致
[web]
type = http
local_port = 5000 //python 服务的端口
custom_domains = www.yourdomain.com //或者 公网 IP启动 frpc
1
./frpc -c ./frpc.ini
将
www.yourdomain.com
的域名 A 记录解析到 公网 IP,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名浏览器访问
http://www.yourdomain.com:8080
或者公网 IP:8080