锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

如何搭建一台永久运行的个人服务器?

时间:2023-01-27 16:30:00 1601连接器

??推荐关注微信官方账号。

后端架构师

专注研究 Java 不限于共享算法、架构、高并发、多线程、JVM、Spring Boot、Maven、分布式、Spring Cloud Docker k8s、Dubbo、Zookeeper、Kafka、RocketMQ等。

公众号

点击上方 "编程技术圈"关注,星标或一起成长

后台回复“大礼包有惊喜礼包!

日英文

Make the person mature is not the time, but the experience. subway tasted, through the nature; through the world, see light the world.

让人成熟的不是岁月,而是经历。品尝一切,自然看透;看透世界,看淡世界。

每日掏心话

你在生活中所做的一切都像灰尘一样渺小,但重要的是你要做,因为别人不会做。

责编:乐乐 | 来自:彭小呆

链接:segmentfault.com/a/1190000021143144

编程技术圈(ID:study_tech)第 1601期推文

过去的回顾:微软突然宣布:正式退休!

正文

大家好,我是小乐

 
 

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 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 系统的朋友可能更友好,但体积大,占用性能更高。

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 连接到 zer 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)即可。另外,搜索公众号顶级架构师回复关键字"offer”获取一份惊喜礼包。


等待几分钟,期间我们的 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 就可以了。

 
    

牛逼啊!接私活必备的 N 个开源项目!

第二种:


在终端命令行中启动 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 之间。

 
    

欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

 
    

在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!

你还有什么想要补充的吗?

 
    

 
    

 
    
 
    

PS:欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

 
    

欢迎加入后端架构师交流群,在后台回复“学习”即可。

 
    

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。在这里,我为大家准备了一份2021年最新最全BAT等大厂Java面试经验总结。

别找了,想获取史上最简单的Java大厂面试题学习资料

扫下方二维码回复「面试」就好了

 
    
 
    

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题汇集

看看人家那权限管理系统,那叫一个优雅(附源码)!

一口气说出 6 种实现延时消息的方案

强烈推荐APP破解常用工具集合!

"韦神"辟谣:别信热搜

看看人家那远程控制系统,那叫一个优雅

牛逼,这个项目包含 81 张思维导图

Spring Boot 实现万能文件在线预览

突发:杭州一员工因离职纠纷把公司炸了!

 
    
 
    
 
    
 
    

嘿,你在看吗?

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章