0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么用树莓派自己制作一个服务器

Android编程精选 来源:SegmentFault社区 作者:彭小呆 2021-10-12 09:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

链接丨segmentfault.com/a/1190000021143144

No.1

树莓派是什么?

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。

你可以看到,最上面是一根普通的黑色签字笔,接下来是一个即插即用型的外接 wifi 网卡,然后是一个 USB 读卡器,最底下的就是我们今天的主角 zero w。它真的超级小,有木有。真的是完美的诠释了那句“麻雀虽小,五脏俱全”的话。 zero w这款树莓派的主要参数如下: • BCM2835 处理器,1GHz 主频,512MB RAMBCM43438 WiFi / BT 芯片micro-USB 电源接口micro-USB OTG 接口miniHDMI 端口复合视频和重置扩展接口脆弱的 CSI 摄像头接口micro-SD 卡座,存放操作系统40-pin GPIO 扩展接口尺寸:65mm*30mm

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

4. 更多树莓派

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

No.2

树莓派zero w安装系统

1. 准备

你可能提前需要准备的东西如下: 16GB or 32GB 的 SanDisk 内存卡(注意是以前那种放在手机上,很小的哦)一根最普通不过的 usb 安卓数据线(not type-cu 盘格式化工具(推荐使用 SDFormatter)系统烧写工具(Win32DiskImager)树莓派系统(可以去官网下载) 我使用的是 Raspbian Stretch Lite 这个系统镜像,这个系统是官方制作的,lite 是无桌面版的,只有黑漆漆的控制台,优点是体积小,省性能和内存。 名字带有 desktop 的是有桌面 ui 的,对不熟悉 liunx 系统的朋友可能更友好,但是体积很大,占用的性能也会更高。

2. 第一步下载系统镜像

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

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

然后进入文件夹可以看到一个 img 的镜像,大小为 1.7GB 左右。 ps:这个官方的 Raspbian 镜像,如果是其他第三方的镜像,可能下载后的压缩包解压后不是 img 镜像,这种情况请另行百度解决。

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

把内存卡插入读卡器后,插入电脑。
打开 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_supplicantGROUP=netdev
update_config=1

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

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

取出读卡器中的内存卡,然后插入到 zero w 中,使用一根 usb 安卓数据线连接电源(5V1A)即可。
等待几分钟,期间我们的 zero w 的指示灯会一直闪烁,很正常,等待指示灯常亮的时候,我们去路由器上,查看一下树莓派的 ip 地址。 可以看到我们 zero w 的 ip 为 192.168.0.104,然后使用 ssh 连接工具(推荐使用 putty)连接树莓派,初始账户为 pi,密码是 raspberry。 连接成功,如上图所示。这样我们的系统就正确无误的安装好了。 ps: 如果是手机开启热点当做一个路由器的话,咱们手机下载一个名叫 android terminal 的 app,然后输入 ip neigh 指令,就可以查到连接到手机的设备的 ip 信息了。

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

6.1 修改源

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

6.1.1 修改 sources.list 文件

sudonano/etc/apt/sources.list
--注释其他内容,添加以下:
debhttp://mirrors.ustc.edu.cn/raspbian/raspbian/raspbianstretchmaincontribnon-freerpi

6.1.2 修改 raspi.list 文件

sudonano/etc/apt/sources.list.d/raspi.list
--注释其他内容,添加以下:
debhttp://mirrors.ustc.edu.cn/archive.raspberrypi.org/debianstretchmainui

	
		6.1.3 执行更新
		
sudoapt-getupdate
sudoapt-getupgrade

6.2 修改时区

sudodpkg-reconfiguretzdata
找到亚洲 Asia,然后选择 shanghai 就可以了。

6.3 开机自启 ssh

第一种:
sudoraspi-config
进入选择找到 interfacing option 选择,然后找到 ssh,按回车使能 enable 就可以了。 第二种:
在终端命令行中启动 SSH 服务后,如果系统重启或关机后启动,SSH 服务默认是关闭的,依然需要手动启动,为了方便可以设置 SSH 服务开机自动启动,打开 /etc/rc.local 文件,在语句 exit 0 之前加入:/etc/init.d/ssh start

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

7. 安装 nginx

#安装
sudoapt-getinstallnginx
#启动
sudo/etc/init.d/nginxstart
#重启
sudo/etc/init.d/nginxrestart
#停止
sudo/etc/init.d/nginxstop
打开浏览器访问 192.168.0.104(你的树莓派 ip 地址),可以看到 nginx 的页面,说明安装好了。
我这边上传了我的博客 可以正常的看到页面了,但是这样只能在内网(局域网中)看到,我想让所有人都可以访问怎么办?

8. 内网穿透

内网穿透,意思就是将内网(本地)的 web 应用通过 nat 穿透到公网上,从而让别人可以访问到。 内网穿透目前主要由 ngrok 和 frp 两种,都非常好用,国内 ngrok 免费的有 ittun、sunny 和 natapp,这三个都是免费的,前面两个可以自定义域名,后面的需要 vip 版本才可以自定义域名。 我这三种都试过,我发现 sunny 的 arm 版本的 ngrok 客户端在我的树莓派运行不了,ittun 的和 natpp 的 ngrok 都可以,由于需要自定义域名,我使用的是 ittun 的 ngrok_arm 版本的。 使用方法这三者官网都有详细说明,大家自行查看。 这是正常运行时的截图,访问 http://zerow.ittun.com/ 时可以... 因为需要 ngrok 在后台运行,所以我用的是 screen 会话使其可以在后台运行。但是开启自启,还没有实现,万一断电或者断网了,我必须手动去运行一下 ngrok,这是目前没有解决的痛点。

9. 更多

树莓派不仅仅只是可以用于运行一个网站,还有很多很多的功能等待你的开发,可以多去看看树莓派实验室里面,很多大神都写了很多实用的教程。 这个zero w 状态信息如下: 42474596-2627-11ec-82a8-dac502259ad0.png

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

责任编辑:haq


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53534

    浏览量

    459004
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222914
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90875
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109686

原文标题:如何用树莓派搭建一台永久运行的个人服务器?

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零成本钢铁侠手套!树莓+OpenCV 秒变手势遥控

    大家好,这是树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点
    的头像 发表于 08-16 16:16 882次阅读
    零成本钢铁侠手套!<b class='flag-5'>树莓</b><b class='flag-5'>派</b>+OpenCV 秒变手势遥控<b class='flag-5'>器</b>!

    如何使用树莓与OpenCV实现面部和运动追踪的云台系统?

    大家好,这是树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点
    的头像 发表于 08-14 17:45 957次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>与OpenCV实现面部和运动追踪的云台系统?

    搭建并优化树莓《我的世界》服务器:全面指南!

    使用树莓托管《我的世界》服务器具有诸多优势,尤其适合那些希望搭建小型、经济高效且节能的服务器的用户。无需额外硬件:无需强大的计算机或昂贵的服务器
    的头像 发表于 08-11 16:08 1056次阅读
    搭建并优化<b class='flag-5'>树莓</b><b class='flag-5'>派</b>《我的世界》<b class='flag-5'>服务器</b>:全面指南!

    教你如何手搓树莓网络服务器

    使用树莓的定义和好处网络服务器是指利用HTTP及其他协议进行数据传输,处理通过万维网提交的客户端请求的软硬件组合。网络服务器的主要功能是存储、处理并向客户端(通常是网页浏览
    的头像 发表于 07-12 08:23 371次阅读
    教你如何手搓<b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>网络<b class='flag-5'>服务器</b>!

    20任何人都能完成的树莓酷炫项目!

    不知道如何利用你买的树莓?这个小设备真的能当台式电脑吗?能当服务器吗?能当广播电台吗?当然可以!为了帮助你入门,我们精心挑选了这份树莓
    的头像 发表于 07-03 17:10 3003次阅读
    20<b class='flag-5'>个</b>任何人都能完成的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>酷炫项目!

    树莓小技巧:无需键盘或显示,如何通过WiFi设置树莓

    树莓款小巧便携的USB供电计算机,可以隐藏起来用于小型项目,如网络服务器或家庭自动化。通常,设置树莓
    的头像 发表于 06-26 15:41 1043次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>小技巧:无需键盘或显示<b class='flag-5'>器</b>,如何通过WiFi设置<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?

    树莓复古游戏,你会选哪一个

    复古游戏与树莓单板计算机的组合十分常见。在树莓项目列表中,几乎都会包含至少复古游戏项目。
    的头像 发表于 06-16 16:56 822次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>复古游戏,你会选哪<b class='flag-5'>一个</b>?

    树莓分类树莓识别不同型号的树莓

    在本教程系列的第部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是
    的头像 发表于 06-13 16:39 983次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类<b class='flag-5'>器</b>:<b class='flag-5'>用</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    树莓“揪出”家里的耗电怪兽!

    在本应用中,我们将使用树莓设置CE电流监测,并通过网页界面显示电路的电流读数。本项目使用的组件硬件组件
    的头像 发表于 06-04 15:33 1142次阅读
    <b class='flag-5'>用</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>“揪出”家里的耗电怪兽!

    告别广告与 ISP 追踪!把树莓改造成家用网络的 DNS 服务器,简直太酷了!

    什么后果。当我了解到,只需用树莓这样便宜的东西就能搭建家用DNS服务器时,我不禁想,要是我早点这么做,下载广告拦截
    的头像 发表于 05-24 08:33 468次阅读
    告别广告与 ISP 追踪!把<b class='flag-5'>树莓</b><b class='flag-5'>派</b>改造成家用网络的 DNS <b class='flag-5'>服务器</b>,简直太酷了!

    树莓“吉尼斯世界记录”:将树莓的性能发挥到极致的项目!

    树莓款功能强大、体积小巧且高度可定制的设备,多年来,我们见证了它被应用于众多领域。无论是将其装入3D打印的经典游戏机外壳,还是简单地将它隐藏起来作为家庭文件服务器,我们都报道过在
    的头像 发表于 05-22 16:53 1199次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>“吉尼斯世界记录”:将<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的性能发挥到极致的项目!

    树莓 Zero 打造的智能漫游车!

    使用PXFMini和树莓Zero打造您自己的自主漫游车。本项目所用组件硬件组件ErleRoboticsPXFmini×1树莓Zero×1
    的头像 发表于 05-13 16:39 868次阅读
    <b class='flag-5'>用</b> <b class='flag-5'>树莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游车!

    树莓4 打造专属流媒体控制台!

    树莓体验DIY智能科技!如今市面上有各种各样的流媒体控制台,但购买现成的哪有自己从零开始制作的有趣呢?至少,这似乎是
    的头像 发表于 05-11 08:33 424次阅读
    <b class='flag-5'>用</b> <b class='flag-5'>树莓</b><b class='flag-5'>派</b>4 打造专属流媒体控制台!

    树莓“复活”我的世界爬行者,现实版“噩梦”机器人诞生!

    树莓与《我的世界》渊源已久。无论你是树莓运行服务器,还是玩《我的世界》
    的头像 发表于 05-07 17:31 505次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>“复活”我的世界爬行者,现实版“噩梦”机器人诞生!

    树莓GUI应用开发:从零到炫酷的魔法之旅!

    各位树莓的粉丝们!今天我要带你们踏上段神奇的旅程——探索树莓派上GUI应用的无限可能!你是不是觉得树莓
    的头像 发表于 04-04 09:03 885次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>GUI应用开发:从零到炫酷的魔法之旅!