建站系列【一】软件准备
引言
其实很早就萌生了创建个人网站的想法,但是一致受限于资金(懒)和业余时间(懒),导致自己一直没有将这件事情真正提上日程。就在2021年的618,无意间看到阿里云服务器产品在搞活动,优惠力度较大。心想着择日不如撞日,既然这么巧赶上了,那就从这里开始吧。
由于云服务器的选购和网站域名的挑选、备案等过程比较繁杂,但并不困难,依照阿里云的文档指导按部就班地进行,一般没什么太大问题,在此我就不对中间细节做过多介绍了。我们直接开始比较重要的服务器系统和软件的版本选择问题吧。
一、系统和软件的版本选择
系统和软件的版本选择确实是一个比较重要的事情,毕竟,选择会影响到网站的运行效率、安全性、以及运维的难度。为此,我还特意在虚拟机上安装了CentOS-7和CentOS-8两个版本、以及购买的云服务器的Aliyun-Linux-3 版本尝试进行网站搭建,毕竟,实践出真知嘛。
一路走来,确实踩了很多坑,整个测试花费了将近两周的时间,我将会在下面总结各个系统选择面临的整体大环境、以及各版本进行网站搭建遇到的主要问题,从而给今后需要自己搭建网站的小伙伴,做一个小小的参考和提供选择的思路。
系统选择思路
首先说结论:推荐选择CentOS-7的最后更新的一版。下面将会解释这么选择的原因。
不推荐CentOS-8的主要原因是:
- 它马上就要停止维护了!红帽已经宣布2021年12月将停止对CentOS-8的维护。相比之下的CentOS-7则要到2024年才停止维护。
- 对不是非常熟悉Linux系统的小伙伴来说,在刚开始接触Linux系统时,会遇到很多问题,无论是操作问题、软件问题还是配置问题,一般CentOS-7都可以在网上快速找到相应的解决方案,毕竟有很多的前辈已经踩过这些坑。而CentOS-8虽然对部分问题也能够在网上找到答案,但由于使用的人基数少,自然解决方案也会比较少,再加上CentOS-8引入的新特性。还可能原来的问题没解决,又引出新的问题。
不推荐Aliyun-Linux-3的原因:
- 使用阿里(或腾讯)改造的linux系统,就相当于变相与相关的云平台进行了绑定,我个人比较反感将自由的开源软件和平台绑定,不如直接使用开源免费,更加主流的Linux版本。
- 阿里云的linux系统在本地安装比较麻烦,只支持镜像安装,还要去了解有关cloud-init之类的内容,增加一堆配置,徒增使用难度,个人认为没有必要。
- 个人并不认为阿里云(腾讯云)的Linux系统有什么特色,而且知名度并不高,如果有遇到问题,在国内找不到解决方案,去国外求助,大概率同样也会一无所获。你可能会遇到外国友人:“Aliyun Linux 3,What means that?”相比之下,CentOS、Ubuntu这些在国际上比较通用的Linux系统,开源且用户群体庞大,遍布全球,我们可以在网上获取更多的相关资源和技术支持。
以上就是我关于系统版本选择的一些想法和建议,仅供参考,也欢迎大家提出个人的看法和意见。
软件及版本选择
除了最基本的系统版本外,软件的选择也是一个非常重要的。我们在准备搭建一个自己的网站时,主要会面临以下软件以及相关版本的选择:
-
提供服务的“服务器”软件
服务器是一个网站对外服务的核心组成部分,服务器的稳定性、抗并发能力、软件安全性、请求响应能力等等,都直接决定了搭建的个人网站的稳定性。
常用的服务器软件有:Apache、Nginx等
由于后续考虑到还有可能会在服务器上存放其他的Java项目,作为个人的开发作评展示,所以我选择了使用大名鼎鼎的Nginx作为网站的服务器,这是一款由俄罗斯工程师开发的服务器,它以抗并发能力强、占内存小、可作为反向代理而著称,是一款非常优秀的服务器软件。
-
数据存储的软件
目前国内最主流的关系型数据库——MySQL,是作为系统数据库的不二选择,开源免费,且有有比较优秀的并发能力。其他的选择还有Oracle、Postgre,由于平时的开发工作中使用的并不多,所以在这里没有采用,不过这三款数据库也是当前主流的数据库。熟悉的小伙伴可以自行选择。
MySQL的版本选择,我主推使用5.7或者8.0版本,这两个版本都是主流版本,比较喜欢新特性,8.0体验下来的感觉就是更注重利用多核、更注重安全性,但是整体的数据库性能方面,与5.7相差不大,熟悉5.7版本的建议继续使用5.7版本即可,主要特点稳定、性能较强。而初次使用MySQL则更建议使用最新的8.0版本,会有更强大的安全机制、更优秀的多核调度算法。
-
博客平台
这里使用了更为便捷易用的wordpress平台,这是一个网站搭建的平台,是基于PHP语言开发的免费开源的网站搭建的软件。既然搭建博客,我更推荐使用便捷易用的平台进行网站项目的搭建。当然,有兴趣有实力的小伙伴,也推荐使用自己开发的博客项目作为个人的博客网站。
版本选择不用太可以,直接使用最新版本的wordpress即可,且注意PHP的版本不建议选用较低的版本,毕竟PHP低版本有些令人诟病的安全问题,对不熟悉PHP的同学,可能会造成不必要的麻烦,我这里选用的是PHP 7.4版本,不选用PHP8版本的原因是,PHP8加入了部分新特性,会导致配置PHP环境的使用遇到一些问题和麻烦,我是在不熟悉这种语言的情况下,尝试使用PHP8之后,发现遇到各种让我比较头疼的问题,最终决定退回比较主流常用的7.x版本。(非专业人士还请谨慎,也欢迎各位勇士挑战PHP8的配置…) -
作为一名Java开发者,同样也推荐大家尝试使用Java开发的网站搭建软件,一方面可以完成自己的网站搭建,另一方面,部署一个Java项目,也会提成自己的项目部署、运维的能力,加深对Java项目的理解和熟练度。
这里给大家推荐的Java网站搭建项目就是,著名的开源博客——Halo,这是一个很多Java开发者都很喜欢推荐的一个博客系统,对于想搭建个人博客,或者想要通过学习实际项目来提成自己变成示例的小伙伴,Halo绝对是一个不二的选择,和Wordpress一样,Halo也有很完善的使用文档,而且我之前有看过Halo的部分代码,干净整洁,并且运用各种设计模式,对喜欢阅读源码的小伙伴来说是非常好的选择。后续我也将考虑逐渐将本站的架构迁移到Halo上,毕竟PHP自己平时用到的不多,遇到问题排查时难免会弯弯绕绕找不到重点,而且自己短时间内也没有足够的精力花在学习PHP上。
其他
当今,以Docker、Kubenetes为首的容器技术日益兴起和成熟,外加微服务架构的逐渐流行。为了更方便、快捷地完成环境搭建和项目部署,很多的企业和个人,都逐渐采用容器技术来完成,减少因系统环境差异造成的运维难度。
同时,引入了DevOps的项目管理理念,提高开发人员和运维人员的沟通和合作,构建更加可靠、便捷的开发、运维流程。
作为开发者,我认为对待这些兴起的新技术,我们应该保持谦虚的态度,怀着一颗不断进取的心,去迎接变化。也许这会带来各种困难和挑战,但新技术也同样带来了机遇和变革。面对挑战和机遇,找到自己的节奏,不断提升个人的实力,熟练掌握多种开发和运维技能,努力提高个人的综合技术实力,才是一个有职业素养的开发者应有的觉悟。
One thought on “建站系列【一】软件准备”
博主最近怎么样,怎么不更新了?