利用frp进行树莓派的内网穿透同时架设可外网访问的web服务器 - 简书

96
就是很皮
0.4 2018.08.13 18:29* 字数 976
SMP.jpg

写在前面:本文用了两个来自CSDN的文章:

  • 非常感谢两位大佬

很早一些时候,运营商会给我们分配一个公网IP地址,使用动态域名解析可以非常方便的搭建网站。但是现在一般运营商都是用NAT方式,我们只能得到一个大局域网的IP,所以这种方法就失效了。


因此,如果需要用自己电脑做服务器的话,我们只能使用花生壳这样的内网穿透工具了。花生壳的缺点就是只能使用人家给你分配的三级域名,而且免费套餐每个月只有1G流量,有时候还不太稳定。


正在这时,我发现了一个工具——frp ,完美解决了我的需求。所以就有了这篇文章,向大家介绍一下这个功能强大的工具。当然需要说一点,这个工具功能强大,没有限制,但是和shadowsocks一样需要有一个服务器来运行服务端。这个工具作者是自己人,所以有正宗的中文文档,大家可以看看。

正题开始:

因为frp需要服务端和客户端同时运行 所以我们需要准备以下几样东西:

  • 一台有公网ip的vps 我自己用的是腾讯云的学生机 Debian8 才120块钱一年 很划算
  • 一个自己的域名(不过没有也没事 直接填ip就好)
  • 一台树莓派(这个就不用多说了)
  • FRP的服务器端和客户端

FRP的下载:

之前在github下载回来的两个0.20版本的FRP都存在云盘了 要的话就去下面的链接 不保证一直会更新 最好还是去github找


注意:vps端要用amd4那个文件
树莓派要用arm那个
具体你们怎么上传随你们意了 我个人喜欢在本地解压然后xsftp传到树莓派和vps上面

Github地址:
百度云地址:

下载之后解压到你需要的目录里面 接下来就是开始配置:

本人都是放在/root目录下的 所以大家根据自己目录来敲

1.VPS服务器端配置:

cd /root
cd frps
vim frps.ini

接着在frps.ini里面写入以下代码:

[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 8080 #这里改成你自己想要的端口号
vhost_https_port = 443
dashboard_port = 7500
auth_token = frp

log_file = ./frps.log
log_level = info

[web1]   #web通道 要和frpc一致
type = http #协议类型为http
custom_domains = yourdomian.domain #你自己的域名 没有的话用公网ip
auto_tokeb = frp #客户端要配置的和这个一样

[web2]                #web通道,要和frpc一致
type = http         #协议类型为http
custom_domains =  yourdomian.domain   #域名 没有的话用公网ip
auth_token = frp 

启动服务:./frps -c ./frps.ini
查看log文件:vi ./frps.log

2. 客户端的配置

cd /root
cd frpc
vim frpc.ini

接着在frpc.ini里面写入以下代码:

[common]
server_addr = your server ip #你自己VPS的IP地址
server_port = 7000 #和frps.ini里面配置的端口号一样
local_ip = 127.0.0.1
log_file = ./frpc.log

[ssh]#配置ssh内网穿透
type = tcp
local_port = 22
remote_port = 6000 #自己选择喜欢的端口来配置 下次从外面登陆的时候直接填VPS地址加这个端口号就可以直接登陆到树莓派了
[web1]
type = http
local_port = 80 #因为是做服务器直接80端口 要是做其他的就换一个端口号
custom_domains =  yourdomain.domain #域名
auth_token = frp

启动客户端:./frpc -c ./frpc.ini
查看log:vi frpc.log

3. 安装LNMP

LNMP就是Linux下的Nginx+MySQL+PHP
傻瓜式安装:wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
LNMP安装官网:
具体教程点击上面链接查看

4.设置FRP的自启动

树莓派自然少不了折腾 有时候就会关闭电源 这样frp就不会运行 网站也就会一直显示frpc的页面 所以我们要给它添加自启动 这样重启也不用再去运行frp了


保险起见最好也给VPS弄自启动 我只说客户端的:

1.安装supervisor:apt install supervisor
2.新建frpc的配置文件:vi /etc/supervisor/conf.d/frpc.conf

写入以下代码:

[program:frpc]
command = /root/frpc/frpc -c /root/frpc/frpc.ini #根据自己实际地址来更改
autostart = true

然后重启supervisor:systemctl restart supervisor
最后配置好域名解析等 就可以开始测试了
PS:LNMP默认网站目录是放在/home/wwwroot/default下面的
如果遇到什么坑了 可以看看我的其他文章 希望能帮到你

树莓派学习过程