当前位置: 首页 > 后端技术 > Java

如何搭建一个永久运行的个人服务器?试试这个黑科技!

时间:2023-04-01 15:07:57 Java

作者:彭小呆来源:segmentfault.com/a/11900000211431441.什么是树莓派?RaspberryPi(中文名称为RaspberryPi,缩写为RPi,(或RasPi/RPI)是专为学习计算机编程教育而设计的),只有信用卡大小的微型计算机,其系统基于Linux。随着Windows10IoT的发布,我们也将能够使用运行Windows的RaspberryPi。自问世以来,受到众多电脑爱好者和创客的追捧,一度“一派难求”。别看它“娇小”的外表,它的“内心”却非常强大,视频、音频等功能一应俱全。可以说,麻雀虽小,五脏俱全。1、我的话理解树莓派是主机,可以外接显示器、键鼠、U盘等外设,因为体积小,串口和外接口多。很多底层硬件都可以直接调用。2.市面上的机型多为3代B+机型,淘宝上树莓派也不少。纯主板(不含任何外设)的价格在230+左右,有点贵,超出了我的预算。所以我寻找便宜的东西最终让我找到了100+RaspberryPi。3.RaspberryPizerowRaspberryPizerow是一个miniRaspberryPi,只有3b+的1/3。真正拿到手后,你会发现它真的超级小巧,超级可爱。下面是我的实物图,大家可以看看尺寸有多迷你。可以看到最上面是一支普通的黑色签字笔,后面是即插即用的外置wifi网卡,然后是USB读卡器,最下面就是我们今天的主角零w。真的超级小,有木有。真是完美诠释了“麻雀虽小,五脏俱全”这句话。zerow这款树莓派的主要参数如下:?BCM2835处理器,1GHz主频,512MBRAM?BCM43438WiFi/BT芯片?micro-USB电源接口?micro-USBOTG接口?miniHDMI接口?复合视频和复位扩展接口?脆弱的CSI摄像头接口?micro-SD卡座,存放操作系统?40针GPIO扩展接口?尺寸:65mm*30mm,虽然它的cpu只有1核,内存只有512MB,你可能会觉得besomething做不到,但其实它的性能还是很不错的。运营一个网站真的是小case。4.更多树莓派更多树莓派模型或教程,可以到树莓派实验室网站,资源丰富。二、树莓派零w安装系统1.准备好你可能需要提前准备的东西如下:?16GB或32GBSanDisk内存卡(注意之前放在手机上,很小)一张最常用不过,usb安卓数据线(不是type-c)?U盘格式化工具(推荐SDFormatter)?系统烧写工具(Win32DiskImager)?树莓派系统(可以去官网下载)我用RaspbianStretchLite这个系统镜像,这个系统是官方出品的,lite是桌面版,只有一个黑色控制台,优点是体积小,节省性能和内存。名字为desktop的有桌面ui,可能对不熟悉liunx系统的朋友比较友好,但是体积较大,占用性能较多。2.第一步是下载系统映像。下载好你需要的系统镜像后,一开始只有一个压缩包如下图,大小约为360MB。需要解压得到上图中的文件夹。然后进入文件夹,可以看到一个img图片,大小约为1.7GB。ps:此Raspbian官方镜像,如果是第三方镜像,下载后压缩包解压后可能不是img镜像。请单独解决此问题。3.使用Win32DiskImager将镜像写入内存卡。将存储卡插入读卡器,再插入电脑。打开Win32DiskImager软件后,选择img镜像,选择你的U盘作为设备,然后点击Write。写入完成后会弹出成功提示框。ps:上图中我没有选择设备,因为没有插入读卡器,只是演示4.不要急着拔出读卡器修改boot分区的文件。一个名为boot的分区可能只有40MB左右大小,不用担心,因为window无法识别内存卡中liunx系统的其他分区。4.1新建ssh文件因为我们的零w有一个minihdmi接口,但是我不需要屏幕,所以我需要在零w中使用ssh连接系统,所以需要在它的时候开启ssh功能是第一次打开。我们进入boot分区,然后新建一个文件命名为ssh,注意不要有后缀!!!!也不要在里面写任何东西!!4.2新建wpa_supplicant.conf文件因为ssh连接需要ip地址,所以我们需要在零w第一次开机的时候自动连接wifi,使其和我们在同一个局域网计算机,以便我们可以通过ssh系统连接到零w。同样,在boot分区新建文件wpa_supplicant.conf,写入如下内容后保存:country=CNctrl_interface=DIR=/var/run/wpa_supplicantGROUP=netdevupdate_config=1network={ssid="Youwifiname"psk="yourwifipassword"}5.组装我们的最小主机并连接读卡器中取出存储卡,然后插入零w,使用usb安卓线连接电源(5V1A)就是这样。等待几分钟,期间我们零w的指示灯会一直闪,这是正常现象。当指示灯常亮时,我们到路由器上查看树莓派的ip地址。可以看到我们零w的ip是192.168.0.104,然后使用ssh连接工具(推荐putty)连接树莓派,初始账号是pi,密码是raspberry。连接成功,如上图所示。这样我们的系统就安装正确了。ps:如果手机开启了热点作为路由器,我们可以在手机上下载一个叫android终端的app,然后输入ipneigh命令查找手机连接的设备的ip信息。六、优化我们的树莓派系统6.1修改源因为是国外的源,我们国内的连接以前很慢,所以我们需要修改成国内的源。我修改了中国科学技术大学的源。6.1.1修改sources.list文件sudonano/etc/apt/sources.list--注释其他内容,添加如下内容:debhttp://mirrors.ustc.edu.cn/raspbian/raspbian/raspbianstretchmaincontribnon-freerpi6.1.2修改raspi.list文件sudonano/etc/apt/sources.list.d/raspi.list--注释其他内容,添加如下内容:debhttp://mirrors.ustc.edu.cn/archive.raspberrypi.org/debianstretchmainui6.1.3执行更新sudoapt-getupdatesudoapt-getupgrade6.2修改时区sudodpkg-reconfiguretzdata找到AsiaAsia,然后选择shanghai。6.3开机自启动ssh首先输入:sudoraspi-config进入选择找到interfacing选项,然后找到ssh,回车启用。第二种方式:在终端命令行启动SSH服务后,如果系统重启或者关机后启动,SSH服务默认是关闭的,仍然需要手动启动。为了方便,可以设置SSH服务开机自动启动,打开/etc/rc.d本地文件,语句exit0前加:/etc/init.d/sshstart建议试试,不然我的没问题。7.安装nginx#installsudoapt-getinstallnginx#startsudo/etc/init.d/nginxstart#restartsudo/etc/init.d/nginxrestart#stopsudo/etc/init.d/nginxstopopenbrowse用服务器访问192.168.0.104(你树莓派的IP地址),可以看到nginx的页面,说明安装好了。我在这里上传了我的博客,页面可以正常看到如下图,但是这个只能在内网(局域网)上看到。如果我想让每个人都可以访问,我应该怎么做?8、内网穿透内网穿透是指将内网(本地)的web应用通过nat穿透到公网,让其他人可以访问。内网穿透目前主要有ngrok和frp,这两个都非常好用。国内的ngrok包括ittun、sunny和natapp都是免费的。这三个都是免费的。前两者可以自定义域名,后者需要vip版本才能自定义域名。三个都试过了,发现sunnyarm版的ngrok客户端在我的树莓派上跑不了。Ittun的和natpp的ngrok都可用。由于需要自定义域名,所以我使用ittun的ngrok_arm版本。三者的官网都有详细的使用说明,大家可以自行查看。这是正常运行的截图,访问http://zerow.ittun.com/时可以访问...因为ngrok需要后台运行,所以我使用screensession让它在后台运行。但是自启动还没有实现。万一断电或者网络断开,我必须手动运行ngrok。这是一个尚未解决的痛点。9.更多树莓派不仅可以用来跑网站,还有很多功能等你开发,可以去树莓派实验室,很多高手写了很多实用教程。零w状态信息如下:上面开启了一个nginx和ngrok服务,还有250MB的内存剩余,还是很舒服的,cpu温度也不算高。跑了两天,基本在37-39之间。近期热点文章推荐:1.1,000+Java面试题及答案(2021最新版)2.别在满屏的if/else中,试试策略模式,真的很好吃!!3.操!Java中xx≠null的新语法是什么?4、SpringBoot2.5发布,深色模式太炸了!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!