神奇的树莓派+frp 随时随地变身服务器
前言
临近双十一前夕,突然想起几年前 Drupal 群里的技术狂热者,玩转树莓派,搜罗了一番知乎文章有哪些对树莓派的有趣改造和扩展应用?和「树莓派」是什么以及普通人怎么玩?,就去了树莓派基金会指定的中国区旗舰店购买了一个裸机(以为双十一会掉价便宜,发现并没)
建议:购买套装(外壳和风扇必选,不然容易损坏、太容易发热)
开机
打开包装后着实被体积给惊呆了,太袖珍了。
在官网下载了桌面版的镜像(Raspberry Pi Desktop (for PC and Mac))因为很好奇这小东西能有桌面版,不过我没装成功,写好镜像后一直停留在开机界面,最后放弃了,选择了(RASPBIAN STRETCH LITE)。
我直接使用的 WiFi 联网,教程很多,建议参考树莓派Raspberry命令行配置无线网络连接这里只提一点(sudo iwlist wlan0 scan 扫描的时候,建议 输出重定向一个 wifi.log 文件里,不然周围太多WiFi信号的时候,比较难找到自己家的WiFi)
修改默认 ssh 密码
树莓派的 ssh 登录密码, 默认用户名是: pi , 默认密码是: raspberry 要第一时间修改下.
passwd
设置 ssh 自动登录
树莓派默认没有目录 .ssh ,需要先创建下.需要ssh登录到树莓派之后,在派中执行:
mkdir ~/.ssh/
在任意一台想要访问树莓派的电脑中,直接执行(而不是登录到树莓派后执行):
# 设置自动登录.
cat ~/.ssh/id_rsa.pub | ssh pi@树莓派内网ip "cat >> ~/.ssh/authorized_keys"
树莓派内网ip 要换为树莓派的内网ip.当然,也需要你用来访问树莓派的电脑和树莓派处于同一局域网.
修改 root 密码
树莓派默认没有 root 密码,直接设置即可(其实不建议折腾 root 用户,sudo 即可了).
# 设置 root 密码
sudo passwd root# 解锁 root 账户
sudo passwd --unlock root# 切换到 root 账户
su root
解决树莓派容量使用不完全问题
我是 64G 的内存卡,但是看容器总共只有 7.2G.第一反应是遇到了黑心商家,但是网上搜了下,简单设置重启即可.详见: http://cedar-renjun.github.io/2015/10/11/resize-raspberry-sd-volume/
此处引用记录下关键步骤,以供查阅:
操作步骤
1.重新树莓派,进入命令行页面
2.登陆树莓派,用户名 pi,密码 raspberry
3. sudo su
切换至超级用户
4. df -h
显示出当前分区的状态和使用率
5. 输入 fdisk /dev/mmcblk0 加载SD卡
6. p 打印当前分区
你应该会看到三个分区(mmcblk0, mmcblk0p1, mmcblk0p2),现在把分区2的信息写下来(/dev/mmcblk0p2)
我主要记录了开始扇区(122880)和结束扇区(8447999)的数值
7.按 d 开始删除分区
8. 系统提示输入删除分区号,输入 2
9. 按 n 新建分区,然后依次输入 p, 2
10. 接下来输入原来记录的2扇区开始号(122880),记得替换成你自己的数字
11. 按 w 保持配置
12. 输入 reboot 重启树莓派
13. 输入 sudo resize2fs /dev/mmcblk0p2 更新系统
14. 输入 df -h 看看,是不是已经完全使用了剩余空间注意:在第 10 步之后,系统提示让输入结束扇区时,直接保持默认回车即可.
配置 frp
准备公网 ip 和公网服务器
公网ip和公网服务器,类似于一个桥梁.我们通过它将可以访问我们放置在内网的树莓派.服务器,我是正好利用以前搭×××买来的vps.当然,用自己已有的ip和服务器也可以.
可选: 准备一个域名(若想来访问 pi 的 web 服务,域名还是必不可少)
顶级域名或二级域名,只要能做 ip 类型的 DNS 解析都可以.这一步,就是简单的把域名解析到前一步的公网 ip 上.这样以后访问会省事些,不用记ip了. 当然,直接用 ip 访问也是可以的.
配制 frp 服务器端 – frps
frp 的服务器端,一般名字是 frps,配置文件是 frps.ini. 这两个文件要放到你的公网服务器上.一般,你都应去发布页,去寻找 frp 的对应的操作系统的最新下载版本.此处以 frp_0.21.0_linux_386.tar.gz 为例.
# 下载.下载地址可以在github发布页右键点击某个下载项 --> 复制链接地址.
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_386.tar.gz# 解压.
tar -zxvf frp_0.21.0_linux_386.tar.gz# cd 到 frp 目录.
cd frp_0.21.0_linux_386# 编辑.debian上,编辑的命令是 vi,此刻 vim 还未安装.
vi frps.ini
在 frps.ini 中输入:
[common]
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 8000
dashboard_user = pi
dashboard_pwd = pipi
privilege_token = pipipi
然后,开启 frps 即可:
./frps -c ./frps.ini
配置好服务器端后,你应该就可以在浏览中(http://IP:8000/static/#/)打开 frp 的控制台页面了:
- dashboard_port_number 改为一个特定的端口号,如8000,如此便可以通过 http://yourip:8000 来访问 frps 的网页控制台页面.
- dashboard_user_name 和 dashboard_pwd_value,要改为一个自定义的用户名和密码,用于在访问 frps 控制台页面时输入.
- privilege_token_value 改为一个自定义的值.只要客户端与服务端 privilege_token 匹配时,客户端才能连接到 frp 服务端.
配制 frp 客户端 – 树莓派
frp 的客户端,一般名字是 frpc,配置文件是 frpc.ini. 这两个文件要放到你的内网服务器–树莓派上.一般,你都应去发布页,去寻找 frp 的对应的操作系统的最新下载版本.此处以 frp_0.21.0_linux_arm.tar.gz 为例.
1.下载
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_arm.tar.gz2.解压.
tar -zxvf frp_0.21.0_linux_arm.tar.gz3.cd 到 frp 目录.
cd frp_0.21.0_linux_arm4.编辑. debian上,编辑的命令是 vi,此刻 vim 还未安装.
vi frpc.ini
在 frpc.ini 中输入:
[common]
server_addr = 外网IP
server_port = 7000
privilege_token = pipipi
login_fail_exit = false[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
// 我这里有访问 web 的需求,才配置域名,若无 请忽略此块
[web]
type = http
local_port = 80
custom_domains = shumeipai.liisli.cn
然后,开启 frpc 即可:
./frpc -c ./frpc.ini
配置好服务器端后,你应该在任意可以连接到互联网的电脑上,使用 ssh 访问自己的树莓派了:
# 端口和ip要记得替换为自己的.
ssh -oPort=remote_port_number pi@your_server_ip我用的 vps 速度挺慢的
注意:
- your_server_ip 要替换为公网服务器上绑定的公网 ip.
- frps 服务器端与客户端不必是同一操作系统, 但frp 版本最好对应
- 树莓派3 debian 系统,需要的是 arm 版本的程序安装包.
- privilege_token 要和服务器端的 frps.ini 中对应
- login_fail_exit 很重要,否则后面无法实现系统重启时自动启动 frpc 功能.
- remote_port_number,用来指定通过远程服务器的哪个端口来 ssh 访问树莓派.
开机自启动:
vim /etc/rc.local
在最后面加两行:
nohup /home/pi/frp_0.21.0_linux_arm/frpc -c /home/pi/frp_0.21.0_linux_arm/frpc.ini & exit 0
这样就好了~
参考文章:
借助 frp 随时随地访问自己的树莓派
转载于:https://blog.51cto.com/laok8/2321878
神奇的树莓派+frp 随时随地变身服务器相关推荐
- 借助 frp 随时随地访问自己的树莓派
前言 看了知乎上的一个「树莓派」是什么以及普通人怎么玩? 的高票回答,双十一时间,果断买了一个树莓派 3. 周一(11.13) 到的货.我目前只想实现一个简单的功能 – 想从任意位置访问我的树莓派. ...
- 树莓派frp内网穿透
树莓派+frp内网穿透 一.frp 二.frp作用 三.安装与配置 1.服务器端 2.客户端(树莓派) 一.frp frp 是一个高性能的反向代理应用,支持 tcp, udp, http, https ...
- 【合集】用Raspberry Pi(树莓派)打造各种服务器
[合集]用Raspberry Pi(树莓派)打造各种服务器 Raspberry Pi(树莓派)有很多的应用,其中搭建服务器是大家应用比较多的,今天就整理一个合集用Raspberry Pi(树莓派)打造 ...
- 树莓派python实例_树莓派3 搭建 django 服务器的实例
树莓派3的基本配置 这里接着上一章的搭建过程,在我新购置的树莓派3上完成一个网页服务器的搭建以及后台数据库的相关配置.关于树莓派的玩点实在是太多,限于篇幅不做展开.由于我们仅仅只是搭建一个服务器,所以 ...
- php树莓派养鱼,树莓派学习11: 将树莓派变成一个Web服务器
将树莓派变成一个Web服务器,通过访问网页,就可以控制树莓派,比如:查看摄像头\开灯等等. 一想到Linux Web服务器,我们首先想到的是,Apache + MySql + Php. 树莓派可以安装 ...
- 树莓派3B+ 远程下载服务器(Aria2)
树莓派3B+ 远程下载服务器(Aria2) 近来发现之前的部署的迅雷远程下载Xware在下载BT文件时会自动掉线,鉴于迅雷不在对该固件的维护,所以只能另辟蹊径,现在比较主流的下载服务就是Aria2了, ...
- 树莓派移动硬盘存储服务器,树莓派+移动硬盘搭建NAS服务器
由于树莓派的USB接口不足以给移动硬盘供电,因此需要另外给移动硬盘提供电源. 显示当前已有的存储设备 # fdisk -l Disk /dev/mmcblk0: 7876 MB, 7876902912 ...
- 使用微信+树莓派+Arduino+服务器构建你的看门狗
使用微信+树莓派+Arduino+服务器构建智能家庭小助手 前言 这是我去年的大创项目<一种基于微信的主动式家庭智能监测系统设计与实现>,因为时间关系,一直都没有好好的梳理一遍应该如何去复 ...
- Docker+Frp+NGinx+云服务器 实现HTTPS内网穿透
Docker+Frp+NGinx+云服务器 实现HTTPS内网穿透 服务端搭建 (用docker-compose 服务器端搭建) 前置条件 1. 一台有公网ip的服务器2. 记得在服务器安全组开放对应 ...
最新文章
- 高等数学-关于第二类面积分的对称性问题
- matlab ezplot绘制隐函数
- 反思沟通交流对象:与善人居 不明着懒 更不暗着懒
- IOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
- springboot基本属性注入
- 带参的信号、lamda表达式及坐标系统
- js判断最后一个字符是不是指定字符_结合简单的 JS 就可以让 CSS 也能做搜索
- java xy,java – 某个z深度的xy位置
- 作者:劳保强(1989-),男,中国科学院上海天文台助理工程师
- 腾讯游戏规范直播:以后将严禁这些行为!
- matlab中的ftell函数,Matlab之文件操作函数fclose | ferror | fopen | frewind | fseek | ftell函数...
- 微信小程序配置接口调用API
- Java-集合练习题
- 微信小程序中相机api_微信小程序调用内置照相机实现拍照及图片上传
- 简述计算机病毒的传播4种途径,4计算机病毒的传播途径.ppt
- 转区系统开放艾欧尼亚转入服务器,【英雄联盟】转区系统开放艾欧尼亚转入服务...
- 不用PS,小白也能轻松搞定抠图
- 网络游戏开发成本,运营成本,收入
- 英语四级常考100个短语
- Delphi-x2d 网络游戏引擎