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

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

3天内不再提示

如何用树莓派搭建一台永久运行的个人服务器

jf_ro2CN3Fa 来源:segmentfault. 彭小呆 作者:segmentfault. 彭小呆 2022-10-11 17:52 次阅读

No.1 树莓派是什么?

1. 用我的话理解

2. 市面上的型号

3. 树莓派 zero w

4. 更多树莓派

No.2 树莓派zero w安装系统

1. 准备

2. 第一步下载系统镜像

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

4. 修改 boot 分区的文件

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

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

7. 安装 nginx

8. 内网穿透

9. 更多

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。

e1218f96-457a-11ed-96c9-dac502259ad0.jpg图片

你可以看到,最上面是一根普通的黑色签字笔,接下来是一个即插即用型的外接 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.2 树莓派zero w安装系统

1. 准备

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

• 16GB or 32GB 的 SanDisk 内存卡(注意是以前那种放在手机上,很小的哦)

• 一根最普通不过的 usb 安卓数据线(not type-c

• u 盘格式化工具(推荐使用 SDFormatter)

• 系统烧写工具(Win32DiskImager)

• 树莓派系统(可以去官网下载)

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

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

e14c8976-457a-11ed-96c9-dac502259ad0.jpg图片

2. 第一步下载系统镜像

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

e165eee8-457a-11ed-96c9-dac502259ad0.png图片

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

e17fc7a0-457a-11ed-96c9-dac502259ad0.png图片

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

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

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

e19787b4-457a-11ed-96c9-dac502259ad0.png图片

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

打开 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 地址。

e1accc78-457a-11ed-96c9-dac502259ad0.jpg图片

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

e1c666a6-457a-11ed-96c9-dac502259ad0.png图片

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

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 的页面,说明安装好了。

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

e1dcc3a6-457a-11ed-96c9-dac502259ad0.png图片

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

8. 内网穿透

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

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

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

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

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

e2362d60-457a-11ed-96c9-dac502259ad0.png图片 e2511094-457a-11ed-96c9-dac502259ad0.png图片

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

9. 更多

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

这个zero w 状态信息如下:

e262e602-457a-11ed-96c9-dac502259ad0.png图片

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

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

    关注

    87

    文章

    11292

    浏览量

    209328
  • 服务器
    +关注

    关注

    12

    文章

    9123

    浏览量

    85324
  • WINDOWS
    +关注

    关注

    3

    文章

    3541

    浏览量

    88623
  • Raspberry Pi
    +关注

    关注

    2

    文章

    558

    浏览量

    22196
  • 树莓派
    +关注

    关注

    116

    文章

    1706

    浏览量

    105607

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

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    树莓媒体服务器——MiniDLNA

    成为可能。在这个教程我将向你展示如何用MiniDLNA做树莓媒体服务器,让你的照片、音乐和视频在网络流动。这里直接跳过
    发表于 01-19 14:35

    树莓打造我的世界服务器

    。小小的树莓耗电非常少,你可以不间断地开着服务器年的电费也不过几块钱而已。只要树莓
    发表于 02-26 16:37

    【Raspberry Pi 3申请】基于树莓3的个人服务器主机

    屏;3.跑树莓以前的例程,总结下这次树莓3的性能提升效果;4.使用GPIO控制ledH
    发表于 04-05 13:50

    【Raspberry Pi 3申请】基于树莓3的多项服务搭建与使用

    ,创龙C6748,整个试用阶段我大部分时间也都和论坛的人积极探讨,按时完成任务,现在都已经提交结项报告。树莓本身就是块让我们折腾的微型电脑,所以我觉得完成基本的服务
    发表于 04-14 14:35

    教你怎么用树莓构建外网可访问的微型服务器

    。第四,搭建树莓的WEB服务器由于我不懂如何做网站,所以只好套用大牛的方法,建立了个监控树莓
    发表于 05-16 10:44

    如何外网直接访问树莓派上搭建服务器

    我在我的树莓派上用flask搭建服务器,放上了自己的网页,开放在80端口。但是我树莓连接
    发表于 07-04 17:55

    没有公网IP,如何用树莓打造远程PT下载服务器

    ,并在自己个人电脑上登录蒲公英异地组网软件客户端,即可远程SSH进去树莓的后台,继续做开发的工作。2、远程访问树莓用来
    发表于 11-30 10:38

    树莓个网络摄像头上传实时视频到云服务器,云服务器推流到客户端可以实现吗

    树莓个网络摄像头,不想在树莓派上直接搭建流媒体服务器,因为它没有公网ip,虽然可以通过路由
    发表于 08-16 01:23

    在arm的云服务器树莓4上安装kata-container

    kata-container是目前比较热门的安全容器项目,目前kata-container已经支持在arm64平运行。如果你想在arm64平运行kata除了租借arm的云
    发表于 07-12 16:02

    何用Foxmail Server搭建邮件服务器

    何用Foxmail Server搭建邮件服务器 Foxmail Server(以下简称FMS)可以搭建出功能强大的邮件服务器。本文以FM
    发表于 01-27 17:05 1349次阅读

    动手搭建一台自己的BT下载服务器

    动手搭建一台自己的BT下载服务器 相信大家对BT应用已经耳熟能详了吧,但在感受BT应用所带来便利的同时,你是否想过搭建一台自己
    发表于 01-29 14:02 1492次阅读

    树莓用什么语言编程_树莓python编程详解

    树莓个非常廉价的、只有手掌大小的完全可编程的计算机。虽然树莓的体积小,但是它的潜力无限。你可以像使用常规台式计算机
    发表于 01-15 17:00 3.9w次阅读

    如何使用树莓DIY个NAS存储服务器

    树莓就像一台微型的电脑,麻雀虽小五脏俱全。利用它可以开发出各种各样的功能,其中就包括搭建一台迷你号的NAS网络存储
    的头像 发表于 04-06 12:44 1w次阅读

    用旧手机DIY一台服务器

    本文将向你展示如何使用 UrBackup 和 Linux Deploy在一台 Android 旧手机上搭建一台备份服务器。旧手机的污染问题众所周知,我有
    的头像 发表于 12-30 14:30 1328次阅读

    树莓是什么?用树莓搭建一台永久运行个人服务器

    Raspberry Pi(中文名为树莓,简写为 RPi,(或者 RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于 Linux。
    的头像 发表于 07-22 09:19 1.2w次阅读
    <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>的<b class='flag-5'>个人</b><b class='flag-5'>服务器</b>