想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

关注我们,设为星标,每天7:30不见不散,架构路上与您共享


回复”架构师“获取资源


No.1

前言



由于本人在这段时候,看到了一个叫做树莓派的东东,初步了解之后觉得很有意思,于是想把整个过程记录下来。

No.2

树莓派是什么?

Raspberry Pi
(中文名为树莓派,简写为 RPi,(或者 RasPi / RPI) 是为学习计算机编程教育而设计)
,只有信用卡大小的微型电脑,其系统基于 Linux。随着 Windows 10 IoT 的发布,我们也将可以用上运行 Windows 的树莓派。

自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是麻雀虽小,五脏俱全。



1. 用我的话理解



用我的话理解就是树莓派就是一台主机,你可以外接显示器,键盘鼠标,u盘等等外设,因为它体积很小,而且又有很多串口和外接的口,可以直接调用很多底层硬件。


2. 市面上的型号



市面上大多是 3 代 B+ 型,淘宝一搜树莓派一大堆都是,价钱纯主板
(不要任何外设)
在 230+ 左右,有点小贵,超过我的预算,所以我继续寻找廉价的,终于让我发现了一款 100+ 的树莓派。


3. 树莓派 zero w



树莓派 zero w 是一款 mini 的树莓派,体质只有 3b+ 的 1/3。实际到手后,你会发现它真的超级小,超级可爱。以下是我的实物图,你可以看看大小到底有多 mini。


想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

你可以看到,最上面是一根普通的黑色签字笔,接下来是一个即插即用型的外接 wifi 网卡,然后是一个 USB 读卡器,最底下的就是我们今天的主角 zero w。它真的超级小,有木有。真的是完美的诠释了那句“麻雀虽小,五脏俱全”的话。


zero w 
这款树莓派的主要参数如下:


•  BCM2835 处理器,1GHz 主频,512MB RAM
•  BCM43438 WiFi / BT 芯片
•  micro-USB 电源接口
•  micro-USB OTG 接口
•  miniHDMI 端口
•  复合视频和重置扩展接口
•  脆弱的 CSI 摄像头接口
•  micro-SD 卡座,存放操作系统
•  40-pin GPIO 扩展接口
•  尺寸:65mm*30mm

你别看它的 cpu 只有 1 核,内存只有 512MB,就觉得它可能什么都做不了,但是实际上它的性能还是很好的,用于跑一个网站真的是小 case。

4. 更多树莓派



关于更多树莓派型号或者使用教程你可以去树莓派实验室这个网站,上面有丰富的资源。


No.3

树莓派zero w安装系统

1. 准备



你可能提前需要准备的东西如下:


•  16GB or 32GB 的 SanDisk 内存卡
(注意是以前那种放在手机上,很小的哦)
•  一根最普通不过的 usb 安卓数据线
(not type-c)
•  u 盘格式化工具
(推荐使用 SDFormatter)
•  系统烧写工具
(Win32DiskImager)
•  树莓派系统
(可以去官网下载)


我使用的是 Raspbian Stretch Lite 这个系统镜像,这个系统是官方制作的,lite 是无桌面版的,只有黑漆漆的控制台,优点是体积小,省性能和内存。


名字带有 desktop 的是有桌面 ui 的,对不熟悉 liunx 系统的朋友可能更友好,但是体积很大,占用的性能也会更高。


想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

2. 第一步下载系统镜像



下载好你需要的系统镜像后,如下图


想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

一开始只有一个 zip 的压缩包,大小大概 360MB 左右,你需要把它解压,得到上图的文件夹。

想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!


然后进入文件夹可以看到一个 img 的镜像,大小为 1.7GB 左右。


ps:这个官方的 Raspbian 镜像,如果是其他第三方的镜像,可能下载后的压缩包解压后不是 img 镜像,这种情况请另行百度解决。


3. 使用 Win32DiskImager 往内存卡中写入镜像



想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!


把内存卡插入读卡器后,插入电脑。


打开 Win32DiskImager 软件后,选择 img 镜像,设备选择你的 U 盘,然后点击写入就可以了,写入完成后会弹出成功的提示框。


ps: 我上图没有选择设备,因为的没插入读卡器,仅仅是示范而已

4. 修改 boot 分区的文件



先别急着拔出读卡器,此时,我们电脑可以看到 u 盘中只有一个名为 boot 的分区,大小可能只有 40MB 左右,不要着急,因为 window 不识别内存卡中 liunx 系统的其他分区。 


4.1 新建 ssh 文件



因为我们的 zero w 有一个 mini hdmi 的接口,但是我不需要屏幕,所以需要使用 ssh 连接到 zero w 中的系统,所以需要在第一次开机就能
开启 ssh 功能。


我们进入 boot 分区内,然后新建一个名为 ssh 的文件,注意不要后缀名!!!!也不要往里面写任何东西!!


4.2 新建 wpa_supplicant.conf 文件



因为 ssh 连接是需要 ip 地址的,所以我们需要将 zero w 在第一次开机自动连接 wifi,使其和我们的电脑处于一个局域网,这样我们才可以通过 ssh 连接到 zero w 的系统。

同样的在 boot 分区内,新建一个名为 wpa_supplicant.conf 的文件,然后往里面写入如下内容后保存:



  
  
  
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="你的wifi名字"
psk="你的wifi密码"
}

5. 组装我们的最小主机并连接



取出读卡器中的内存卡,然后插入到 zero w 中,使用一根 usb 安卓数据线连接电源
(5V1A)
即可。

等待几分钟,期间我们的 zero w 的指示灯会一直闪烁,很正常,等待指示灯常亮的时候,我们去路由器上,查看一下树莓派的 ip 地址。



想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!




可以看到我们 zero w 的 ip 为 192.168.0.104,然后使用 ssh 连接工具
(推荐使用 putty)
连接树莓派,初始账户为 pi,密码是 raspberry。


想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!


连接成功,如上图所示。这样我们的系统就正确无误的安装好了。


ps: 如果是手机开启热点当做一个路由器的话,咱们手机下载一个名叫 android terminal 的 app,然后输入 ip neigh 指令,就可以查到连接到手机的设备的 ip 信息了。


6. 优化咱们树莓派的系统

6.1 修改源



因为国外的源,咱们在国内的连接过去网速很慢,所以我们需要修改为国内的源,我修改的是中科大的源。


6.1.1 修改 sources.list 文件



  
  
  
sudo nano /etc/apt/sources.list
--注释其他内容,添加以下:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/raspbian stretch main contrib non-free rpi

6.1.2 修改 raspi.list 文件



   
   
   
sudo nano /etc/apt/sources.list.d/raspi.list
--注释其他内容,添加以下:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch main ui

6.1.3 执行更新

   
   
   
sudo apt-get update
sudo apt-get upgrade

6.2 修改时区



   
   
   
sudo dpkg-reconfigure tzdata
找到亚洲 Asia,然后选择 shanghai 就可以了。


6.3 开机自启 ssh



第一种:


   
   
   
sudo raspi-config
进入选择找到 interfacing option 选择,然后找到 ssh,按回车使能 enable 就可以了。


第二种:

在终端命令行中启动 SSH 服务后,如果系统重启或关机后启动,SSH 服务默认是关闭的,依然需要手动启动,为了方便可以设置 SSH 服务开机自动启动,打开 /etc/rc.local 文件,在语句 exit 0 之前加入:

/etc/init.d/ssh start

建议都试试,反之我的是可以了。

7. 安装 nginx

  
  
  

   
   
   
#安装
sudo apt-get install nginx
#启动
sudo /etc/init.d/nginx start
#重启
sudo /etc/init.d/nginx restart
#停止
sudo /etc/init.d/nginx stop
打开浏览器访问 192.168.0.104
(你的树莓派 ip 地址)
,可以看到 nginx 的页面,说明安装好了。

我这边上传了我的博客,如下图



想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!


可以正常的看到页面了,但是这样只能在内网
(局域网中)
看到,我想让所有人都可以访问怎么办?


8. 内网穿透



内网穿透,意思就是将内网
(本地)
的 web 应用通过 nat 穿透到公网上,从而让别人可以访问到。


内网穿透目前主要由 ngrok 和 frp 两种,都非常好用,国内 ngrok 免费的有 ittun、sunny 和 natapp,这三个都是免费的,前面两个可以自定义域名,后面的需要 vip 版本才可以自定义域名。


我这三种都试过,我发现 sunny 的 arm 版本的 ngrok 客户端在我的树莓派运行不了,ittun 的和 natpp 的 ngrok 都可以,由于需要自定义域名,我使用的是 ittun 的 ngrok_arm 版本的。


使用方法这三者官网都有详细说明,大家自行查看。


这是正常运行时的截图,访问 http://zerow.ittun.com/ 时可以…


想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!
想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

因为需要 ngrok 在后台运行,所以我用的是 screen 会话使其可以在后台运行。但是开启自启,还没有实现,万一断电或者断网了,我必须手动去运行一下 ngrok,这是目前没有解决的痛点。


9. 更多



树莓派不仅仅只是可以用于运行一个网站,还有很多很多的功能等待你的开发,可以多去看看树莓派实验室里面,很多大神都写了很多实用的教程。


我的 zero w 状态信息如下:


想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

在上面开启了一个 nginx 和 ngrok 服务,内存剩余还有 250MB,还是很舒服的,cpu 温度也不算高,运行两天了,基本在 37-39 之间。


文章来源:

https://urlify.cn/nqaQVf

想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

到此文章就结束了。如果今天的文章对你在进阶架构师的路上有新的启发和进步,欢迎转发给更多人。欢迎加入架构师社区技术交流群,众多大咖带你进阶架构师,在后台回复“加群”即可入群。








想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

第一期打卡送书5本+1个腾讯视频VIP月卡(11月1日-12月1日)



这些年小编给你分享过的干货

《IDEA 2020.2 最新破解教程,有效期到2089年

Kubernetes的前世今生

你们公司的架构师是什么样的?

《Docker与CI持续集成/CD持续部署》

《还有40天,Java 11就要横空出世了》

《JDK 10 的 109 项新特性》

《学习微服务的十大理由》

《进大厂必须掌握的50个微服务面试问题》


想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!

转发在看就是最大的支持❤️

本文分享自微信公众号 – Java架构师社区(mush_java_jg)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2454.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C#WinForm窗体美化(IrisSkin皮肤插件的使用)

    C#WinForm窗体美化(IrisSkin皮肤插件的使用)C#皮肤美化插件

  • 关于ASP.Net的validateRequest=false(验证请求)[通俗易懂]

    关于ASP.Net的validateRequest=false(验证请求)[通俗易懂]ASP.Net的validateRequest=false      validateRequest=”false”  指是否要IIS验证页面提交的非法字符,比如:>,   ASP.Net1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个HttpReques

  • 研华acdp手机版_acwing算法基础

    研华acdp手机版_acwing算法基础你准备游览一个公园,该公园由 N 个岛屿组成,当地管理部门从每个岛屿出发向另外一个岛屿建了一座桥,不过桥是可以双向行走的。同时,每对岛屿之间都有一艘专用的往来两岛之间的渡船。相对于乘船而言,你更喜欢步行。你希望所经过的桥的总长度尽可能的长,但受到以下的限制:可以自行挑选一个岛开始游览。任何一个岛都不能游览一次以上。无论任何时间你都可以由你现在所在的岛 S 去另一个你从未到过的岛 D。由 S 到 D 可以有以下方法:(1)步行:仅当两个岛之间有一座桥时才有可能。对于这种情况,桥的长度会累加到你步

  • sql2005置疑数据库修复_sqlserver2008数据库可疑

    sql2005置疑数据库修复_sqlserver2008数据库可疑–修改数据库为紧急模式alterdatabaseP897A20_dbsetemergency–但用户模式alterdatabaseP897A20_dbsetsingle_user–修复数据库日至dbcccheckdb(P897A20_db,repair_allow_data_loss)–恢复多用户模式alterdatabaseP89

  • snmp协议的trap操作采用基于_maven批量导入jar包

    snmp协议的trap操作采用基于_maven批量导入jar包snmptrap与snmpSNMP简单概述1.1、什么是SnmpSNMP是英文”SimpleNetworkManagementProtocol”的缩写,中文意思是”简单网络管理协议”。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。SNMP协议主要由两大部分构成:SNMP管理站和SNMP代理。SNMP管理站是一个中心节点,负责收集维护

  • 直读光谱仪分析谱线_频谱分析仪主要有哪几种

    直读光谱仪分析谱线_频谱分析仪主要有哪几种为什么使用频谱仪?01认识频谱电磁频谱,是指按电磁波波长(或频率)连续排列的电磁波族,是一种看不见摸不着但时刻伴随我们的东西。当我们使用电磁波将一串信息发送出去时,在时域上他是一段强度不同,疏密变化的时间信号,在其中的任意时刻,你所能获取的只有他的强度;当我们换个角度,站在频域上来看时,在信号的每一个时刻,你都能看到他从时域的一个点延展成了频域的一个面,你所能获取到的信息量将成倍增加,这有助于我们从中解析出更丰富的内容。因此,电磁频谱的观测,或者说使用频谱仪,我们实际上是换一…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号