小姐姐想搭建服务器永久运行网站,我用U盘大小的树莓派神器搞定了!
点击上方蓝色小字,关注“涛哥聊Python”
重磅干货,第一时间送达
链接:https://urlify.cn/nqaQVf
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。
你可以看到,最上面是一根普通的黑色签字笔,接下来是一个即插即用型的外接 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 系统的朋友可能更友好,但是体积很大,占用的性能也会更高。
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_supplicant GROUP=netdev
update_config=1network={
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 文件
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 的页面,说明安装好了。
我这边上传了我的博客,如下图
可以正常的看到页面了,但是这样只能在内网(局域网中)看到,我想让所有人都可以访问怎么办?
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 状态信息如下:
在上面开启了一个 nginx 和 ngrok 服务,内存剩余还有 250MB,还是很舒服的,cpu 温度也不算高,运行两天了,基本在 37-39 之间。
---------End---------
-END-扫描上方视频号关注我,然后扫码抽奖书籍,这个活动主要是给视频号读者,
一定要是视频号粉丝哦,开奖之后要检查是否是粉丝。JJYY:程序员那儿来的小姐姐啊,好好码砖,今天又周五啦,忙碌了一周,周末可以睡个懒觉了,同志!
好文章,我在看❤️
小姐姐想搭建服务器永久运行网站,我用U盘大小的树莓派神器搞定了!相关推荐
- 想自己搭建服务器,永久运行网站?一个 U 盘大小的树莓派就够了!
公众号关注 "GitHubPorn" 设为 "星标",每天带你逛 GitHub! 链接:https://urlify.cn/nqaQVf No.1 前言 由于本 ...
- html转word并保持格式不变,表格从Word转Excel想保持格式不变?用这两种方法,保你轻松搞定...
相信在职场办公,大家或多或少都有遇见过这样的问题,需要把Word中的表格转移到Excel中,很多人第一时间就复制黏贴然后再重新调整格式,一两个表格还好说,如果是批量的你怕是要累死了. 表格从Word转 ...
- 【网站搭建】想搭建属于自己的网站吗,教你用ECS免费搭建网站
文章目录 前言 ECS 尾声 前言 Hello小伙伴们好久不见啦,博主一直忙得不可开交! 久别重逢,博主最近发现了一个搭建网站的好方法,想要搭建网站的小伙伴们快来试试看吧! ECS 用ECS搭建网站, ...
- 海王小姐姐想分身,技术哥哥一分钟满足!
午后,我戴着耳机专心致志地工作,正在享受敲键盘的快感. 突然,公司的行政小姐姐轻声哒哒哒地跑到我工位旁边蹲下,然后拍拍我的手,示意有事情找我. 平时不怎么熟悉的美女找我,我摘下耳机,正在疑惑. 小姐姐 ...
- 计算机iis配置具体步骤,Win7配置IIS服务器和运行网站 (配详细图示).doc
在Win7中如何安装IIS和如何配置IIS运行网站 Win7中不像XP中那样,Win7系统中将IIS集成于系统中,不需要启动光盘或者第三方服务,按照下面步骤即可完成win7系统对IIS的安装 一 安装 ...
- 多商户商城源码_多商户小程序开发搭建?开达应用多商户入驻商城小程序制作教程...
多商户小程序如何搭建?多商户入驻商城小程序快读搭建教程 多商户设置 前言:多商户是配合商城主应用才能使用 基础设置 支持选择提现方式,多商户的用户在申请提现时使用 客服图标(开启) 商户距离排序(开启 ...
- 安卓qq去小程序版本号与服务器不符,腾讯QQ竟然推出微信小程序版本 但是只能查看消息不能回复消息...
腾讯QQ用户量不敌微信且逐年下降已经是不争的事实,越来越多的用户把微信当做日常通讯最主要的沟通工具. 腾讯QQ这边倒是也想着通过运营活动恢复昔日的辉煌,不过想要再次超过微信的话看起来也是不太可能的事儿 ...
- 服务器内存一般多大_性能调优第一步,搞定服务器硬件选型
服务器选型是Linux性能调优的第一步. 无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置. 我们需要从不同角度.多个方面来决定选择一台什么样的服务 ...
- 服务器添加管理员隐藏账号,绝招:隐藏管理员账号 三分钟搞定
绝招:隐藏管理员账号 三分钟搞定 更新时间:2007年07月30日 11:30:59 作者: 对regedit.exe大家都很熟悉,但却不能对注册表的项键设置权限,而regedt32.exe最大的 ...
最新文章
- Js面试题(一)--js实现数组去重怎么实现?
- 实验1 查看CPU和内存、用机器指令和汇编指令编程
- wxWidgets3.0.2媒体播放器
- 站长常用广告代码的表达大全
- 16、IN和NOT IN用法详解
- 高一计算机组装,高中生计算机组装与维护,呼市新华互联网学校
- K-Means聚类算法思想及实现
- android暂停活动,如何将Android暂停活动带到前面
- views视图函数-模板语法
- easyui弹出层在最顶层显示跳出iframe框架通用javascript代码
- Serverless 是一种思想状态
- Mysql安装及其配置
- Git 基础(九)—— Failed to push some refs to git
- python 读取远程服务器文件
- DXGI_FORMAT enumeration (dxgiformat.h)
- Zabbix 5.0.13 与阿里云企业邮箱告警
- 在excel表格中画斜线
- 手机微信如何打开html文件,手机上怎么找微信里的电子文件
- RE:从零开始的汇编语言_挑好书
- React:styled-components的使用
热门文章
- war3_memory
- 视频播放破亿,抖音近期的流量密码是什么
- RSA + AES加密原理,一线大厂主流的加密手段,流程浅析,有十分详细的测试Demo
- 安利:华为鲲鹏920云主机部署Nginx服务器一键拉起自动化脚本
- 达梦数据库关键字大全
- caj整篇怎么转换成word,caj转换成word一键搞定
- 如何在百度、谷歌搜索到我的网站?
- 前端性能优化:预渲染
- stm32 下载程序出现以下问题:JLink Info: Found SWD-DP with ID 0x1BA01477
- matlab中fval函数,收集整理Matlab中的linprog函数使用说明 | 学步园