51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

云服务器续费不起,手把手自建蘑菇服务器!

大家好,我是陌溪

最近,蘑菇的云服务器快要到期了,陌溪是两年前趁着打折活动的时候,花费了 200 块买了三年。这次进入云服务器后台看到续费的价格,直接把我劝退了,续费三年竟然需要 4284 元!已经快赶上陌溪配置的台式机的价格了...

要知道,陌溪在之前在 2022 年的双十一,可是自己网上买零件配置了一台主机的,用的是当时最新刚发布的 Intel i5 13600K 芯片。装机的配置是:CPU 1420 线程,32GB 内存、1.5TB 固态硬盘。

整套机器配置加起来也才花费 5000 块,用了几年后依旧坚挺,还是陌溪在周末时代码输出主力机器。

现在续费的这个服务器,只有 44GB 内存 80GB 硬盘的服务器,就要了 4200 元,简直是不把老用户当人看....

所以,陌溪打算服务器到期后,就不续费这台云服务器了,毕竟自己买台物理机器,用几年后没准还能卖二手回血一波,但是买了云服务器到期后就啥都没了..

最开始陌溪想着使用自己的主机充当服务器,但是这个机器日常也需要使用,而且这个CPU基础功耗有 125 W ,如果要24 小时开机,1 天就得3 度电了,一年差不多就 1000 度电,按照现在的电费8 毛一度,差不多一年电费就得800块了,这个开销肯定顶不住的。

所以,陌溪在618 的时候,就去了解一下小主机的市场,因为平时我们部署的网站,访问量都不会太高,基本上 CPU 的资源都是闲置的,如果是 Java 项目那么对,所以可以找一些低功耗的CPU,整体的功率也会更低。

经过了几天的网上冲浪,最终选定了几款机器

  • 极摩客G3 ,采用IntelN100 处理器,4核4线程,功耗 6W,睿频15W,最高可支持扩展:16G 内存,准系统价格 569元【准系统是指不带内存和硬盘的机器】。

  • 天虹TexHoo ZNR5 ,采用锐龙R5-4500U 的迷你小主机,6核6线程,待机功耗10~15W ,满载 15~25W ,最高可以支持扩展 64G 存储,准系统的价格是 779元。

陌溪大概盘算了一波成本,假设机器平时功耗 15W7 * 24 小时运行一年,差不都只需要 130 度电,按照电费 8毛 计算,也只需要差不多 100 块电费搞定。

考虑到后面的扩展性,陌溪最终选定了 R5-4500U 的迷你小主机,然后在购置了16G 的内存条和 512G的固态硬盘。

PS:在陌溪文章写完的时候,已经给自己升级了一波配置,直接换了一个 32G内存条 和 R7-5700U 的小主机,拥有8核16线程。如果预算有限的情况,也可以按照陌溪上面的推荐。

这个 512G 的固态硬盘,也是陌溪拿出字节平时发的包包,和群友 PY 一波获取到的,后面等服务器搭建好了,开放一个实例给这位小伙伴使用~

所以,最终的陌溪采购小主机的价格是:848 块【小主机好评还可以返现50元】

等待了两天后,也终于都到货了,陌溪直接开启了一波安装,先把内存条、固态硬盘都安装上去,同时这个主机在顶部还预留了一个 Seta 接口的机械硬盘位置,陌溪是直接从旧笔记本上拆卸下来的硬盘安装上去,又多出了 500G 的空间,真是美滋滋。如果小伙伴有闲置的硬件,比如:原来笔记本上拆卸下来的固态,或者内存都可以直接用上,主打一个节省成本。

在所有配置都安装完毕后,把盖子合上就可以了,然后显示器连接上小主机的 HDMI 接口,进行开机。

因为机器的版本是准系统,所以需要我们安装系统,如果小伙伴们是用来作为主力办公电脑,那么可以安装一个 Windows 系统。

虚拟机系统选择

因为陌溪已经有台式机作为主力机器了,这个小主机的主要目的要做成一台服务器,同时小主机需要支持多个环境,如:蘑菇开发环境、蘑菇测试环境、蘑菇演示环境、蘑菇线上环境。

要实现上述的第一想法肯定是想到安装虚拟机。平时我们常用的一些虚拟机软件有:VMWareVirtualBox ,但是这些软件都需要运行在 Windows 系统上,如果我们给小主机装个 Windows 系统,那么资源损耗就太大了,因为桌面级系统本身在运行时候就需要消耗比较大的硬件资源。

目前,物理机上安装虚拟平台,目前主流的是 ESXIPVE 两套。然而,ESXI 是闭源的,我们总不好在互联网上分享怎么激活使用吧。而 PVE 则是开源软件,也提供了非常强大的虚拟化技术支持,从 PVE 的官网中,可以看到以下关于 PVE的一些简介。

Proxmox VE 是一个全开源的企业虚拟化服务器管理平台。它在单一平台上,紧密集成了 KVM 管理程序、Linux容器(LXC)、软件定义存储、网络功能等。通过基于web的集成用户界面,你可以轻松地管理虚拟机和容器、实现集群高可用性,使用集成灾难恢复工具等。

面向企业级和 100% 基于软件定义等特征,无论是虚拟化IT基础设施、还是优化现有资源,Proxmox VE 都是最低成本且效率显著的完美选择。你甚至可以轻松地虚拟化最苛刻的 LinuxWindows 应用程序工作负载,并随着需求的增长动态扩展计算和存储,确保您的数据中心能够适应未来的增长。

最终,陌溪选中了 PVE 作为蘑菇小主机的虚拟化平台,对机器的硬件资源统一的协调管理。

烧录PVE系统

首先,开始烧录我们的PVE系统,陌溪用的是一款叫 Etcher 的软件进行烧录,小伙伴在下载的时候千万不要直接百度搜索,可能下载了一堆流氓软件,可以直接打开 GithubRelease 页面进行下载

https://github.com/balena-io/etcher/releases

然后找到 .exe 后缀的windows 版,下载即可:

下载完成后,选择好PVE 的镜像,镜像可以直接到 PVE 的官网进行下载最新版的镜像即可

https://www.proxmox.com/en/downloads

PVE官网下载

所有软件下载好后,插上对应的U盘 ,打开软件,然后选择下载好的 PVE ISO 镜像,即可开始烧录了。

等待烧录完成后,把 U盘 插入到小主机中,然后进行开机。

在这里提醒一下,千万不在在烧录还没完成的时候拔掉U盘,不然可能导致U盘损坏,陌溪就因为烧录过程中卡掉了,直接拔掉U盘,导致无法被正确识别,所有磁道都损坏了....

但是!虽然U盘坏了,装机的节奏不能停下,直接美团下单了一个新的U盘让外卖小哥送过来,然后接着烧录系统。

后续的过程就很顺利,PVE系统正常烧录到U盘里了。

安装PVE系统

把U盘和键盘插到小主机上,点击开机按钮进行开机,然后按 Del按键即可进入到BIOS系统。设置好启动的优先级,优先从U盘启动,然后保存重启。

重启设备后,将会进入到PVE的安装界面,我们直接选择第一个图形化安装,选择第一个直接确认即可

第二步会要求签署协议,点击确认;然后第三步选择要安装的磁盘,我们优先选择安装到 固态的磁盘 上。

第四步,选择好国家输入 China,然后选择上海时区,直接点击下一步。

第五步会要求输入我们PVE系统的管理密码,后续将用于PVE系统的登录,小伙伴千万要记住。

第六步,就要求我们选择网卡设备,陌溪的小主机上三个网卡,一个是无线网卡,另外两个是有线的,这里优先选择 enp 开头的,代表是有线网卡。

Hostname我们随便填写,下面是主机的IP地址,因为我们需要能联网,所以需要保持和路由器在一个网段。

这里的网段,可以直接打开我们路由器的地址,如蘑菇是:192.168.10.1 ,那么这个地址就是网关地址,我们把 Gateway 改成 192.168.10.1。然后IP地址就在这个网段内任意选择,比如我给PVE设置的是:192.168.10.222,小伙伴可以根据自己的路由器分配的网段地址任意设置即可。【我家wifi密码被你们知道了】

点击确认后,系统就将会安装我们的PVE系统了,安装完成后,重启会展示一个链接。

http://192.168.10.150:8006 安装成功提示

到这里,我们就可以把显示器接口拔出来,插到我原来的电脑上。然后在给小主机插到网线,这里注意要插入靠近电源这边的网口。 连接上小主机和路由器

打开我们 PC 电脑,输入刚刚获取到的 PVE 链接,Chrome 浏览器默认访问的是 https,所以需要点击高级,继续访问:

访问PVE后台

然后就会 PVE 管理后台页面,输入刚刚设置的账号和密码,然后选择中文,登录即可。

输入账号和密码登录

如果小伙伴们无法打开这个地址,可以尝试修改一下电脑的IP地址,打开控制面板,找到网络,然后编辑以太网,设置固定的IPV4的地址,记得和路由器和我们的小主机在一个网段内即可。

设置好机器的网段

然后保存,重新打开页面即可。

PVE基本设置

进入PVE后台,即可看到我们小主机的一些信息,左侧侧边栏有三个栏目:

  • localnetwork:代表的是我们的网络

  • local:主要是为了存储ISO镜像和备份文件。

  • local-lvm:主要是为了存储虚拟机磁盘文件

PVE硬件资源

PVE 特意将我们的磁盘空间分为两部分,一部分用来存储ISO镜像和备份文件,一部分用来存储虚拟机磁盘。所以我们在控制面板中,只能看到一半的空间能利用。平时因为我们ISO镜像和备份需求不高,期望能存储更多的文件。所以我们需要做一些设置,让 PVE 把这部分空间合并起来。

这个时候,就会用到论坛大佬写的一个 PVE 脚本:pve_source,这个脚本能够帮我们完成很多 PVE 的设置,如:更换 PVE 源;更换Debain源;修改容量;PVE展示更多信息。【老虎大神牛~】

https://bbs.x86pi.cn/thread?topicId=20&page=6 老虎大神的脚本介绍

我们使用远程连接工具【蘑菇使用的是 MobaXterm 】,连接上我们的 PVE 机器,因为 PVE 是基于 Debain 系统开发的,所以安装完后我们可以 SSH 进入。 SSH工具连接 PVE

我们点击下面的链接,下载论坛获取的 pve_source 脚本

https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz

解压完成后,会获取到 4 个文件,将文件丢入到服务器的 /root 目录下【注意,千万要放到 root 目录,其它目录可能没法运行脚本!!】 解压后的脚本

使用下面命令,将这几个文件设置为可执行

chmod +x pve_source
chmod +x pve_source_1
chmod +x pve_source_2
chmod +x pve_source_3

执行完成后,使用 ./pve_source 命令,运行 pve_source 脚本,然后输入 Y 接受协议 签署协议

然后就会进入到命令选择页面,我们可以按照提示,把 1~6 都执行一遍,更换我们的系统镜像源,以及登录弹出的无效订阅。

跟着指令操作

这里,我们主要是要移除掉我们的 local-lvm 存储空间,把我们的磁盘都合并起来提高利用率,这里输入 16 ,然后在输入 y ,脚本会自动帮我们移除掉 local-lvm 移除local-lvm硬盘

执行完毕后,我们点击数据中心,选择 存储 ,然后把 local-lvm 移除掉

删除无效的存储

在回到 PVE 虚拟机中找到存储,编辑 local 把内容所有的选项都勾选上,提交保存即可,这样我们这个 local 区域就可以上传下面这些文件内容了。 选择空间支持上传的格式

在重新查看一下概要,可以看到磁盘的空间恢复磁盘的大小。 空间回来了

如果要展示更多机器相关的数据,我们可以选择 6 ,然后在输入 1 ,在输入 o , 选择推荐方案一:高大全,然后回车; 显示更多的内存信息

安装完成后,我们打开概要页面,可以看到更多关于机器硬件相关的信息了,例如:CPU的频率温度磁盘使用次数磁盘温度 等等,能够让我很直观了解当前硬件的一些信息。我这个笔记本上拆卸出来的磁盘,竟然使用了 14697 小时,看来也是经历了时间的锤炼。 完整的概要信息

更多的一些关于 PVE 的配置,小伙伴也可以去体验一下。

安装CentOS系统

下面就到了今天主题了,我们去安装一个 CentOS 系统,来部署我们的蘑菇博客项目,首先到 CentOS 官网,下载镜像,优先下载 7.x 版本【CentOS 昨天已经停止维护了,下次一定换成 Debain

http://isoredirect.centos.org/centos/7/isos/x86_64/

然后切到我们的 PVE 管理页面,找到 local ,选择 ISO 镜像,把刚刚下载好的镜像上传上去。 上传镜像

上传完成后,我们点击右上角的 创建虚拟机 ,输入虚拟机的名称,然后点击下一步。 创建虚拟机

第二步,就选择刚刚我们上传的 ISO 镜像,然后类别就是默认:Linux ,点击下一步; 选择镜像

第三步直接用默认值,点击下一步 配置系统

第四步,选择总线选择 SATA ,然后磁盘大小根据自己空间来分配,我这里设置 20G ,然后选择下一步 配置磁盘空间

后面就选择 CPU 和 内存,我这里直接输入的是 2核 2G ,最后点击下一步。 配置CPU和内存空间

网络我们选择默认值,最后在勾选创建后启动,然后点击确定,开始创建 CentOS 虚拟机。 预览下配置

在左侧可以看到一个 CentOS 的实例,点击控制台进行启动 开始启动

然后会进入到 CentOS 的安装接口,选择 Install CentOS 7 安装CentOS

CentOS 的安装比较简单,按照流程安装即可 开始安装

这里可以配置好固定的IP地址,选择网络和主机,然后编辑以太网,选择手动输入IP地址,根据自己路由器的网段,输入一个固定的地址,蘑菇这里使用的是:192.168.10.155。

image-配置网络

最后在配置下 Root 的密码,等待安装完成即可,最后点击 重启 设置密码

重启后,我们输入刚刚设置的账号和密码,即可进入到 CentOS 系统了。 成功进入机器

按照惯例,首先 ping 一下百度,看看网络的连通性,可以看到我们的机器是可以正常访问网络的。 测试网络

下面,我们使用我们的远程连接工具【MobaXterm】,连接上我们的 CentOS 机器,输入机器的 IP地址和端口号,确认即可。 远程连接机器

输入密码,即可远程连接我们的机器了,以后就可以使用 连接成功

安装蘑菇系统

下面,我们就使用SSH远程工具访问我们的 CentOS 服务器了,因为现在给蘑菇分配了 4核7G 的资源,所以不需要额外配置虚拟内存。 系统配置

首先安装 wget 工具,用于下载蘑菇一键部署脚本

yum install -y wget

然后输入蘑菇一键部署命令,开始安装蘑菇博客

wget http://oss.moguit.cn/script/moguInit.sh && chmod +x moguInit.sh && sh moguInit.sh

想了解更多关于蘑菇博客的信息,也可以访问蘑菇开源地址

地址:https://gitee.com/moxi159753/mogu_blog_v2

输入完命令后,我们耐心等待一键部署脚本的执行,会自动给我们服务器安装 docker、docker-compose 等所需的环境。 等待安装

等待一段时间后,等脚本运行完毕,输入网址:http://localhost:9527 即可打开蘑菇的门户页面

蘑菇门户网站

输入:http://localhost:9528 即可进入到博客的后台管理系统 蘑菇后台

最后,在看看基于小主机安装了多个环境,整体的负载情况也很稳定,后续可以用来搭建蘑菇 K8S 集群~ 整体负载情况

到了大家最关心的耗电量,切换到智能开关,可以看到在 CPU 负载不高的情况下【大部分情况都不高,除非是用来玩游戏】,基本只需要10多W的,一天可能只需要 0.3 度电就够了。 用电量

好了,到这里我们就使用了小主机搭建了蘑菇博客,如果大家对这个系列感兴趣,后面陌溪也会继续讲解关于小主机的更多玩法~

最后,如果小伙伴们不想这么折腾的去搭建蘑菇博客,也可以直接购买现成的云服务器,最近搞活动还是能抢到便宜的机器的。

腾讯云:
https://curl.qcloud.com/BoYpZdLh

阿里云:
https://www.aliyun.com/minisite/goods?userCode=w7aungxw

我是陌溪,我们下期再见~

推荐

推荐一款陌溪最近在持续更新和打磨的社区项目《蘑菇社区 》,蘑菇社区 定位是多人内容社区系统,在原有蘑菇博客的基础上,加入了更多的社区玩法 ,支持:用户投稿 、个人主页、用户签到关注/取关收藏/点赞积分模块VIP会员用户动态 (蘑菇圈)、面经模块课程模块消息通知 、公众号登录/管理、私信/群聊模块SEO优化 、图片敏感审核、任务模块、成就模块、勋章模块支付模块 、提现模块、消息触达 、资源模块、抽奖模块 等,欢迎点击左下角阅读原文了解关于社区项目更多内容~。

历时两年半,《蘑菇社区》实战项目技术揭秘~

往期推荐

博主就职于字节跳动后端研发,一直维护校招笔记仓库 LearningNote「在Gitee上已有 6.6k star,地址 https://gitee.com/moxi159753/LearningNotes」,公众号上的文章也会在此同步更新,欢迎各位小伙伴一起交流学习,回复 「PDF」获取PDF笔记。

同时,想要丰富项目经验的小伙伴,可以参考我维护的开源微服务博客项目:蘑菇博客「 Gitee 官方推荐项目,博客类搜索排名第一,在 Gitee 已有 6.8K star,仓库地址:https://gitee.com/moxi159753/mogu_blog_v2 」。

欢迎小伙伴们添加我的私人微信 coder_moxi【备注:加群】,我将邀请你加入到蘑菇博客交流群中,欢迎小伙伴们找陌溪一块聊天唠嗑,共同学习进步。最后,如果你觉得本文对你有所帮助,麻烦小伙伴们动动手指给文章点个「赞」和「在看」,非常感谢大家的支持。 快来找陌溪唠嗑吧 点个在看你最好看

赞(4)
未经允许不得转载:工具盒子 » 云服务器续费不起,手把手自建蘑菇服务器!