Sitedev

搭建网站:明确需求

其实关于搭建个人网站的教程有很多。但是我认为搭建网站的第一步不是买这个买那个,也不是学各种语言。而是明确自己的需求。

  • 是要搭一个展示页面,写一行文字,放几张图片,让别人了解你?

image-20211104225958619

  • 还是要搭建个人博客,实现写文章、管理页面?

image-20211104213959895

  • 还是要部署一个离线下载工具,每周帮你下载最新的剧集,存到网盘?

image-20211104213817568

不同的需求所需要的资源是不一样的。第一个需求可以通过简单的静态网页解决。第二个可能需要PHP环境,实现文件的读写。第三个需要完整的环境,以及前端和后端的结合。

当然,网上也有很多“一键建站”的服务。但是我不认为这能算是个人网站。其实他们更类似于一个博客平台,你的网站只是托管在他们服务器上的一篇“文章”而已。不管是文章、图片还是样式都使用的是他们的资源。

所以我理解的建站,至少要有一部分“你自己”的东西。一个好记的、带有你个人特色的网站地址,一段你自己的代码,都可以算作你的东西。

搭建网站,除了明确需求之外,还需要指定成本上限。

比如说,你是否愿意为了它学习一点代码的知识(HTML)?

比如说,是否准备购买域名和服务器(虽然也有免费服务,但高配置的往往要上千一年)?

比如说,是否能够积极地解决其中出现的问题(这通常是不可避免的)?

如果你已经确定好了自己的需求,并且下定了决心的话,就选择以下的一个方向,开始你的折腾之旅吧。

  • 最简单了解简单的代码知识,通过Github Pages服务来搭建自己的第一个个人主页。添加图片、文字和链接。
  • 在自己的电脑上运行一个网站服务器:宝塔Windows面板简介。这是一个非常有用的工具,让你之后的建站之旅不再是面对一行行代码和命令,而是图形和友好的用户界面。
  • 了解更多关于网站运行的知识:服务器、域名和IP地址。这是运行上面所说的第三类服务的基础。

(这里应该有链接。如果没有。说明我还没更新)

搭建网站:关于IP地址、服务器、域名、系统、软件

服务器

其实如果只是搭建一个网站的话,只需要一台电脑就可以了,甚至是家里的旧电脑。但是使用自己的电脑搭建网站并不是一个很好的选择。首先,一般的网站都是要24小时都能够访问的,不过大家应该都很少把自己的电脑24小时开机吧,先不论对于硬件的损伤,光电费就不便宜。其次,服务器的稳定性也是一个很重要的方面,像Windows10这样的系统,三天两头自动重启更新是很正常的。最后,如果以Windows10作服务器的话,里面的很多功能其实并没有使用到,这也形成了一种资源的浪费。

这时候就要考虑“云服务器”了。顾名思义,云服务器就是(对我们而言)运行在云端的服务器系统。它的机器通常位于某个数据中心里,有专业人员保证其运行的稳定,而我们只需要通过软件远程连接到服务器,就可以像操作自己的电脑一样运行各种服务了。这样,你既不用担心安全,也无需每次还记着开机和关机了——云服务器都是24小时运行的。

这里还有一个虚拟主机的概念。不知大家是否有见过服务器,一台商用服务器可以有数十个CPU核心,上百G的内存,几十T的硬盘。显然我们并不需要这么多资源,服务商也了解这一点。他们将一台服务器从软件上分成许多个小的部分(虚拟化技术),每一部分单独售卖,这就称为虚拟主机。我们购买的一般都是虚拟主机。

IP地址

搭建网站的最终目的还是展示给他人。而别人要访问你的网站,第一步就是找到你在哪里。

互联网也有像门牌一样的东西,称作IP地址,最初的想法嘛,就是每一台电脑分派一个IP地址,这样只要知道对方的IP地址,就能上面的资源了。不过后来就发现有问题:电脑太多了,IP地址不够用。这就有两种解决方案了。

第一种,就是不再分配公网IP,而改用内网IP。打个比方,一家酒店里面有很多房间,每个房间都是独立的。在酒店内,你可以通过房间号互相确定对方的房间,但是当你订外卖的时候,却不能只是说:我是在某某房间,而要加上这家酒店的详细位置等等。这个房间号就是内网IP,酒店内部的人可以随意互相访问。酒店位置就是公网IP,外面的人必须先从公网IP找到酒店前台,才能进一步确认你的位置。现实中的情况比这更不乐观。公网IP都在运营商那里,访问请求打到运营商,它直接帮你拒了(由于协议问题,运营商也不清楚是找哪个)。于是点对点的访问就被内网IP阻断开了。

第二种,原来的IP不够用,那我就多增加几个呗。确实,现在新开发了一种协议叫IPV6,比原来的IPV4多出2^96倍,足够每一台设备用了。可惜啊,现在还不是很普及,很多地方运营商也不提供。

所以为了完成一个网站的部署,你还需要一个公网IP。一般而言,虚拟主机都会和一个公网IP地址捆绑销售,你购买主机的同时,也拥有了一个地址,这也是推荐用虚拟主机搭建服务的原因。

域名

IPV4地址实际上就是4个数字,类似于112:143:123:4这样的不规则数字,显然这很不方便记忆(也不方便交流)。为了解决这个问题,域名诞生了。我们平时使用的,www.baidu.com这类的网址,其实叫做域名,好记又方便。不过大家可能就会问了,之前不是说要用IP地址去寻找服务器吗?为什么这里又变成域名访问了?

实际上当我们在浏览器输入www.baidu.com按下访问键的时候,数据并不直接去到百度公司的服务器,而是先会到达叫做DNS服务器的地方。DNS服务器类似电话接线员,你告诉他域名,他就帮你接到这个域名对应的IP地址上去。所以实际上你还是在用IP地址访问,只是显示成域名而已。

所以说,域名,其实并不是搭建网站的必要条件。直接用IP地址访问也是可以的。用域名嘛,就显得更个性化一点吧。反正现在也有免费的域名,何乐而不为呢。

最后,域名还有一个功能。一台虚拟主机上可以部署多个网站,对应多个域名,当你访问其中一个时,主机会自动辨别来源,帮你定位到对应的网站上去。如此说来,域名还是提供了非常多的方便的。

系统

之前我们也提到了系统的问题。服务器当然不是用我们常见的Windows10系统。一般而言,主要有Linux和Windows server两类。其中Linux又分为很多种类,例如我们熟知(也许并不)的Ubuntu、centos等。对于个人用户,有些Windows server提供了像家用系统一样的桌面,非常符合我们的使用习惯。但也有一部分只有一个命令行,这部分要特别注意,之后会讲。

不过大部分时间个人建站都是使用Linux系列的系统。主要有两个原因。首先Windows系统真的挺耗资源的,尤其带桌面的版本。许多小虚拟机才1核1G内存,跑个Windows界面就卡成PPT,更不用说搭网站了。其次,当你真正了解了Linux系统的使用之后,就很容易产生一个问题:我真的需要一个图形界面吗?敲命令不也挺好用的吗?(当然我最开始也是喜欢Windows系统些,毕竟熟悉,这也是个过程)

Linux一般不带图形界面,但是消耗会好很多。也不用担心,遇到任何问题,99%网上都会有前人发的贴子。

image-20211105171251077

软件

终日面对黑白的屏幕是十分痛苦的,程序员们也意识到了这一点。所以即使是Linux,上面也有很多软件,提供了一个图形的管理界面和操作环境。在国内比较流行的就是宝塔面板了。之后再提吧。


了解了这么多,是时候获取我们自己的域名和服务器了!