首页 > 其他分享 >如何用树霉派建搭建一个网站,原文:如何搭建一台永久运行的个人服务器

如何用树霉派建搭建一个网站,原文:如何搭建一台永久运行的个人服务器

时间:2024-08-17 09:48:54浏览次数:7  
标签:树莓 sudo 用树霉派 mall 如何 zero ssh ngrok 搭建

由于本人在这段时候,看到了一个叫做树莓派的东东,初步了解之后觉得很有意思,于是想把整个过程记录下来。

Raspberry Pi(中文名为树莓派,简写为RPi,(或者RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,

其系统基于Linux。随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。自问世以来,受众多计算机发烧友和创客的追捧,

曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是麻雀虽小,五脏俱全

 

这或许是一个对你有用的开源项目,项目介绍

mall项目是一套基于 SpringBoot3 + JDK 17 + Vue 实现的电商系统(Github标星60K),

采用Docker容器化部署,后端支持多模块和微服务架构。

包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

  • Boot项目:https://github.com/macrozheng/mall
  • Cloud项目:https://github.com/macrozheng/mall-swarm
  • 视频教程:https://www.macrozheng.com/video/
  • 我们要做的项目如下

 

 

 

 

材料准备

市面上大多是3代B+型,淘宝一搜树莓派一大堆都是,价钱纯主板(不要任何外设)在230+左右,有点小贵,超过我的预算,所以我继续寻找廉价的,终于让我发现了一款100+的树莓派。

树莓派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。

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

  • 16GB or 32GB 的SanDisk内存卡(注意是以前那种放在手机上,很小的哦)
  • 一根最普通不过的usb安卓数据线(not type-c)
  • u盘格式化工具(推荐使用 SDFormatter)
  • 系统烧写工具(Win32DiskImager)
  • 树莓派系统(可以去官网下载)

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

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

 

第一步下载系统镜像

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

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

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

这个官方的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=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文件
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版本的

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

这是正常运行时的截图:

 

 


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

9.更多

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

我的zero w状态信息如下:

图片

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


Github上标星60K的电商实战项目mall,全套 视频教程(2023最新版) 已更新完毕!全套教程约40小时,共113期,通过这套教程你可以拥有一个涵盖主流Java技术栈的完整项目经验,同时提高自己独立开发一个项目的能力,下面是项目的整体架构图,感兴趣的小伙伴可以点击链接 mall视频教程 加入学习。

图片

整套 视频教程 的内容还是非常完善的,涵盖了mall项目最佳学习路线、整体框架搭建、业务与技术实现全方位解析、线上Docker环境部署、微服务项目学习等内容,你也可以点击链接 mall视频教程 了解更多内容。

推荐阅读

macrozheng 专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。 302篇原创内容 公众号

图片

阅读 10万+   ​ 喜欢此内容的人还喜欢   开发工具里还能养宠物,于是我养了几个同事在里面,听说有人养老板...     macrozheng   不看的原因   国内海外免费代理IP     CodeGank   不看的原因   大疆硬件笔试感受:根本做不完     EEDesign   不看的原因 写留言 留言 4
  •   Lonely   山东7月8日     85 不如工控小主机好用,淘宝很多工控小主机都是i5级级别加16G甚至32G内存,放家里做个宅服非常香。    
  •   赵工-光谱遥感   北京7月8日     7 开机自启动很好弄的    
  •   当然   北京7月7日     5 学到了    
  •   惊鸿   河北7月8日     3 [强]    
已无更多数据           macrozheng  

 

标签:树莓,sudo,用树霉派,mall,如何,zero,ssh,ngrok,搭建
From: https://www.cnblogs.com/ZzwWan/p/18364075

相关文章

  • 如何确保PCDN的稳定性?
    确保PCDN的稳定性需要从多个方面入手,以下是一些关键的策略和方法:1.节点选择和优化:在PCDN中,节点的选择和优化对于稳定性至关重要。应确保节点具有足够的带宽和性能,并且可以通过动态调整节点权重来平衡负载,避免单点故障。此外,节点的地理位置分布也需要考虑,以确保在不同地区的......
  • 【本地+在线】Comfyui的基本工作流的搭建----文生图+图生图
    一.(本地使用comfyui)基本模块的了解1.1这是初始界面1.2搭建一个基本的工作流(如果使用的是秋叶大佬的包,每次进入会自动出现该工作流)1.2.1加载器和取样器:加载器,鼠标右键,点击新建节点,按下图操作,出现加载器取样器,鼠标右键,然后按下图操作可以看到如图结果:我们将“模型“连接......
  • Java 如何判断map为null或者空
    1.示例一在Java中,如果我们想判断一个Map是否为null或者空(即没有任何键值对),我们可以使用以下的方法。下面是一个完整的示例代码,展示了如何进行这样的判断:importjava.util.HashMap;importjava.util.Map;publicclassMapNullOrEmptyCheck{publicstaticvoidm......
  • 一文读懂!如何选择最适合的开源项目管理工具
    国内外主流的10款开源项目管理系统对比:PingCode、Worktile、Gitee、开源中国(OSChina)、禅道(ZenTao)、OpenProject、Redmine、Leantime、MeisterTask、Freedcamp。在选择合适的开源项目管理工具时,你是否感到困惑和不安?市场上众多的选项和技术参数可能让你不知所措,而正确的......
  • 【超详细】Node.js搭建服务器之路由基础与实践并实现模块化
    Node.js路由基础与实践简介在Web开发中,路由是处理客户端请求并将其映射到服务器端资源的一种机制。Node.js提供了灵活的方式来处理HTTP请求,并通过路由来响应不同的URL。环境搭建在开始之前,请确保您的开发环境已经安装了Node.js。接着,创建一个新的项目文件夹,并在其中创建......
  • 集师知识付费小程序搭建
       在这个月,张校长依托知识付费小程序,巧妙融合了线上活动与线下实践,成功实现了十万元的收入。小程序内,我精心策划了一系列高质量的课程与直播讲座,涵盖热门领域与专业技能,吸引了大量求知若渴的学员。通过线上互动问答、社群讨论,不仅增强了学习氛围,还促进了知识的深度交流与......
  • 如何自建PT刷流盒子
    如何自建PT刷流盒子选择机器为了刷流我们最好选择大带宽、大容量的服务器,在这里我们简称大盘鸡在这里为了方便演示我就拿DigitalOcean的一台服务器进行搭建,如果你要正式刷流了还是买个硬盘容量大点的操作系统可以用Centos或者Debian系的都行,这个不影响填写密码,请务必牢记,......
  • 论文发表汇款:SWIFT code跨境汇款 —— 如何向境外账号汇款
    如何向境外账号汇款?有以下几种方式:对方开通中国金融产品账号或在中国有代理公司:如对方开通中国的银行卡,微信、支付宝,等等,这样其实就不属于跨境汇款了,外国的一些公司已经开设中国的金融产品和银行账号,比如美国的某些服务器在线租赁服务,等等,当然也有部分外国公司会在中国找一......
  • 如何查询婚姻状况信息?
    1.使用在线查询工具:‌现在,‌也有一些在线查询工具,‌如“天远查”“全能查”等微信小程序,‌提供了婚姻状态查询服务。‌这些工具通常需要你提供一些基本信息,‌并可能收取一定的费用。‌在使用这些工具时,‌请确保它们合法、‌安全,‌并遵守相关隐私政策。‌2通过政府机构查......
  • legoEV3机器人场地赛如何按照规定路线运行(巡线)
    legoEV3机器人场地赛如何按照规定路线运行(巡线)在机器人场地赛中,巡线指让机器人按照固定线路(一般为白底黑线)运行的任务。而巡线也可以被称为“机器人场地赛的‘基本功’”,它既可以单独成为一类比赛项目也可以成为完成其他任务的“地基”。在这里我来给大家介绍两种颜色传感器巡线......