如果你是个小白,感觉搭建一个像 saammaa.com(或者 database.saammaa.com)这样的网站很帅,那么仔细按步骤阅读这篇教程,你也将会对网站建设建立一个相对快速而全面的了解。事实上建站并不是什么难事——可能只是琐碎的知识比较多、而作为新手又不知从哪开始下手而已。对于大多数人而言,网站建设的路上最大的绊脚石并非某个步骤有多难操作、某个知识有多难掌握或理解,而是很难有一个相对全面细致的教程将每一个建站的必要元素都整合起来:作为同样从零开始一步一步走到现在的站长,Saammaa 将带领你走进计算机网络的世界,试图让你以最快的速度掌握更多的知识,不再畏惧建站。

这篇文档力求少走弯路的同时追求最高的建站性价比。没错,性价比——搭建一个网站是需要钱的,而且不要妄想花个十块二十块就能搞出来一个像模像样的站点。建站所需要的金钱不会很少,但也不是很多。所以阅读本词条的前提是:你至少能够接受并为接下来的网站建设做好了 30-50 RMB/月(400-700 RMB/年)花销的预算。这是我个人感觉能舒舒服服地建设一个网站所需要的最低成本。
进阶
现在我们大概了解了网页如何呈现、网页如何存储以及服务器的一些相关知识。现在我们还要对后者进行深入探讨。
人们为什么选择 Linux,我们又为什么选择 Windows

假如你对电脑内存有一丁点的了解,你应该就能比较出命令行操作系统与图形界面操作系统哪一个更加占用内存——必然是后者。此外,“Linux服务器及其运行的应用程序通常设计为精益运行,因此通常使用较少的计算机资源。好处是程序员可以“即时”修改 Linux 服务器和软件,而无需重新启动,这在 Windows 环境中是不可能的。Microsoft Windows 服务器在多数据库任务下趋向于变慢,崩溃的风险更高。”最后,Linux 相对于 Windows 的安全系数要更高一些,黑客们更加倾向于攻击 Windows 服务器而非 Linux(这里所说的攻击仅仅是对服务器操作系统本身而言)总之,Linux 比 Windows 要更加节省服务器性能,因而部署 Linux 网站的成本必然要相对更低一些。
但事实真的是这样吗?当我们选择节省了空间成本,另一种成本——时间成本必然会得到牺牲。学习 Linux 要付出巨大的时间或精力,这些时间和精力集中消耗在入门阶段。也就是说,入门 Linux 会很难很难,但一旦你对 Linux 的基础有所掌握,之后的操作可能就会变得如鱼得水起来。这里不是说 Windows 不难——事实上 Windows Server 比 Linux 至少要难十倍,但这一困难不体现在入门阶段。只有当你下定决心要精通 Windows,这种困难才会逐渐出现。即:入门 Windows 是一件很容易的事,但真正精通 Windows 非常困难,这个操作系统上限非常高,比你想象的还要高。
十年前,世界 500 强的 Linux 占有率是 91.8%,十年后的今天,全世界的 WEB 服务器中,Windows Server 的市场占有率是 50%(来自 IDC 的统计数据)。纵观其它数据,只要是带“全世界排名前多少多少”字眼的,一定是 Linux 占有率高,而那些统计“全世界”服务器的,一定是 Windows Server 的数量要多一些——结合 Linux 安全系数高的原因,这一点想必很好解释。所以今天面向新手的站长,或者即使作为一个部署过无数网站的站长,我依然推荐选择 Windows Server 作为服务器的操作系统。这可以让你少走无数弯路。对于现在的服务器而言,节约性能成本是决定性选择之一,但并非唯一的选择,尤其是对于小白而言,捣鼓 Linux 服务器真的是一件让人无比头大的事情。Windows Server 有着无比便利的操作。在建站领域,一些主要的对比如下:
连接到 Linux 服务器时,需要使用 Shell 工具进行相对繁琐的配置,而连接到 Windows 服务器就像登录自己电脑上的账户一样;
上传文件到 Linux 服务器时,需要使用 FTP 工具,而对于 Windows 服务器直接在自己的电脑上复制、在远程桌面中粘贴即可;
在 Linux 服务器上管理进程需要多种指令,而且后台运行程序需要单独的 screen 支持,Windows 直接任务管理器。
Linux 具有众多复杂的指令,作为新手要记住这些指令需要花费很大力气,否则只能在网上无脑复制粘贴;
有时候你会发现,在使用 Linux 时习惯性地按下“Ctrl+C”、“Ctrl+V”等快捷键会发生意料之外的事情...
Windows IIS 能够无比高效地部署网站——尤其是当自己的服务器上放了很多个网站的时候,对于 Linux Apache 用户,要顺利部署这些网站可能要费好大力气编辑 httpd.conf。
准备
在确定了要使用的服务器系统之后,我们可以直接开始实战。

首先我们要知道,服务器是不存在买断制的,要使用服务器,只能从服务商那里进行租赁。这和那些视频网站或者网盘的月费、年费会员是一个道理。租赁服务器的服务商有很多——很多很多。服务商也分大厂和小厂,像腾讯云或者阿里云这类云服务商应该是国内最大的云服务商——它们也比较实惠。一些其它的厂商也可供选择,比如:

Amazon | 西部数码 | 景安 | 亿速云 | UCloud | 浪潮云 | 美橙

我们再来看一个来自知乎的回答
“云服务器如何买最划算:

1、云平台品牌要够大,售后有保障;

2、在活动期间购买最合适;

3、评估下业务周期,以新用户身份一次性购买三年,折扣力度最大。

不论你打算选择哪家的云服务器,不着急的话,就等等节日,有的是日常的节日,比如双十一、618、等之类的,有的是服务商自己的节日,比如年中、周年庆等。在这些节日中,云服务商会推出很多促销活动,例如云服务器低至1折、2折,或者整点秒杀等形式。在购买云服务器时根据这些云服务商的活动来选择,能够省下不少钱。”
本教程基于腾讯云。这是因为综合对比国内所有服务商,腾讯云服务器性价比能够做到最高,这里的性价比已经不单指服务器本身的性能-价格比,更多的是腾讯云的内部生态——当你使用若干个腾讯云产品,它们能够做到在一个账号内有机互联。这意味着如果你的一项业务需要另一个业务的某些支持,腾讯云可以直接为你部署这一支持从而让你免去东跑西颠之苦,总体来讲就是:十分便利。此外,腾讯云有着极其完备的售后服务和专业的技术人员,这是很多动辄不回消息甚至跑路的小厂所不能比的。

最最重要的是,腾讯云几乎是每天都在搞优惠。
Tencent Yun 云产品优惠
如果你不相信 Saammaa,可以!你完全可以自己选一家云服务商,然后用他们家的云服务器——如果你认为他们的服务器比腾讯的实惠的话。

选择自己的云服务器

记住了,我们以后就从左边的页面选购云服务器,这个页面几乎包含了腾讯云所有的优惠活动。有些不明所以的人可能冠冕堂皇地从大门进——他们购买服务器的页面是右边这样的:
傻子才从这里选服务器
这才对
右边这种页面没有优惠!这是土豪通道。如果你表示自己有很多钱而对土不土豪不屑一顾,可以,只要你能够接受74块钱和1680元的差价

在进行下一步之前,我们有必要来讨论一下服务器的配置问题。

如果你在腾讯云里逛的时间足够久,你也许会发现最便宜的服务器拥有着如此配置:
CPU:1核,内存:1G,带宽:1M。这是个什么概念?比你所能想象的最 Low 的服务器还要 Low。这种服务器由于内存过小,只能够安装 Linux 系统,这个问题倒不是很大——糟糕的是这种服务器大概只能存放静态页面。静态页面是指纯粹想要呈现给访问者信息的页面,这种网页和访问者没有交互,上面大概只能放一些图片、文字。saammaa.com 就是标准的静态网页。这种网页几乎不会使服务器产生任何负担;动态网页则包含了能够和用户交互的元件,例如登录,例如评论,你可以参考各大论坛、知乎、微博等等网站。动态网页要得以呈现,需要在系统中运行其它服务,比如数据库。数据库本身要正常运行,就要占用至少256 MB的内存,动态网页本身在系统中运作还要占用一定内存...这意味着一旦你决定为自己的1H 1G 服务器加装动态网站,就随时面临着内存爆满的风险(这一情况通常发生在数十个人同时访问你的站点并进行一些骚操作时),而这个时候你的网站也会停止工作。
我们貌似还忘记讨论了带宽问题——1M 的带宽,换算成字节速度即为128 KBps(bps:位/每秒,通常对于串行总线设备使用bps为单位,如串口,USB口,以太网总线等;Bps:字节/每秒,通常对于并行总线设备使用Bps为单位,如并口,IDE硬盘等,即我们通常所说的下载速度 )。只要你的网站部署得足够好,这个速度事实上可以承受数万 IP 的并发(并发:同时访问),但在下载文件时就会变得很难受。总之,即使网站优化地足够好并使用 CDN  技术(这种技术能够加速网站访问速度),1M带宽仍然在很多方面限制了服务器。所以综上所述,我们并不推荐你选用配置中任何带数字“1”的云服务器。
如果你觉得自己的博客以后永远访问量都不会大起来,甘心做一名草根站长,那完全也可以选用这种配置的服务器。最后我们来看一个知乎上的回答:“不过在现在的富媒体形态下,一个网站首页即便再小,也在60KB左右,我们姑且认为1M带宽可以承载两个人秒开,但通常1分钟之内打开某个网站其实在很大程度上都是可以接收的,所以1M带宽理论上可以容纳120人同时访问。
总之,如果你的网页架构优化得足够好,并确定日访问量不算太大的话,选择 1-3 M的带宽是完全可行的。
配置参照
最后,我们来纵览一下云服务器性能的参照。这张来自 知乎@云话铺子 的表格比较详细地展示了目前主流的云服务器配置阶梯,以及它们各自所适用的范围。对于腾讯云而言,其提供的服务器有两种:云服务器 CVM 和轻量应用服务器 Lighthouse。腾讯云官方所给出的对比文档如下:
“对比 云服务器 CVM,轻量应用服务器 TencentCloud Lighthouse 更聚焦于中小企业、开发者、云计算入门者、学生等用户群体。相比云服务器 CVM 更加简单易用,精简了云服务器 CVM 的高阶概念及功能,提供高带宽流量包并以高性价比的套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,更适合于支撑中小型网站、Web 应用、博客、论坛、小程序/小游戏、电商、云盘/图床、云端开发测试和学习环境等轻量级、低负载且访问量适中的应用场景。”
综合各项性能与价格指标,我们将轻量应用服务器作为建设网站的首选。
从零开始
首先我们需要理解一些基本概念。这些概念将会陪伴你走完整个建站旅途。
当你访问一个网站,你在访问什么

回答这个问题能够比较全面地向你解释一个站点是如何被建立、如何被部署在互联网上,以及如何呈现在所有用户和访问者面前的。我们现在在浏览器中所打开的任何网页,它们本质上都是一个或一些文件的集合。这种集合与我们日常在电脑中保存的、能够打开并读取内容的文件并无二致。想象你现在在电脑上打开一个文本文档并阅读了其中的内容——当你访问一个网站时,其实也在执行着完全相同的操作。这意味着任何网页甚至能够被当作文本文档的形式来打开,但事实就是这样。我们知道文本文档的格式为“*.txt”,而常见的网页文件,它们的后缀为html、htm 或 php。这些文件全部能够被记事本当作文本文件来打开,你完全可以将其视为换了一种后缀的“txt”文件。

为什么这些文件要以这些形式而不是以“txt”格式存储呢?这就要引出今天我们要讨论的第一个知识:HTML 。Wikipedia 上对于 HTML 的初级解释是:
“超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。HTML是一种基础技术,常与CSS、JavaScript一起被众多网站用于设计网页、网页应用程序以及移动应用程序的用户界面。网页浏览器可以读取 HTML 文件,并将其渲染成可视化网页。HTML 描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非编程语言。

HTML 元素是构建网站的基石。HTML 允许嵌入图像与对象,并且可以用于创建交互式表单,它被用来结构化信息——例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。HTML 的语言形式为尖括号包围的 HTML 元素(如<html>),浏览器使用 HTML 标签和脚本来诠释网页内容,但不会将它们显示在页面上。”
不难看出,对于只能存储纯文本信息的 txt 文件而言,html 文件能够通过不同的符号与字母连接来表达出更加丰富的信息——比如图片,比如表格,或者比如你所浏览的网页上各种看上去很高级的玩意。用记事本打开 html 文件时,你会看到纯粹的文本,但用浏览器打开 html 文档,你将会看到一个包含着丰富内容的网页,这是因为浏览器能够解读 html 文件中用特殊格式表达的部分。但今天我们并不是要学习 HTML 语言,我们现在仅仅需要了解网页是以何种形式存在的,以便进行接下来的学习。
就如同我们将自己的各种文件保存在电脑的硬盘中一样,上述提到的网页文件也需要被保存在某个位置,以便供人们访问。一个网站可能会有很多同时访问的用户,他们可能来自不同的地区,使用不同的操作系统(电脑或手机),所以这些网页文件不可能仅仅被保存在私人的电脑中——它们需要一种特殊的、公开的、人人都能够访问其存储的网页文件的计算机,而这种计算机被叫做服务器
服务器怎样进行工作

上面我们提到,一台服务器就相当于一台放在公共网络中的电脑,其内部存储着一些网页文件,人人都能够连接到这台电脑并访问它存储的这些文件。与我们平时使用的 Windows 操作系统类似,这些服务器也具有自己的操作系统。这些操作系统一般是 Windows Server 或 Linux。对于 Windows Server,这是一种具有图形界面的系统,使用起来和我们电脑中的 Windows 系统几乎没有什么不同,但 Windows Server 专门针对一些地方做出了优化,以便更好地为用户提供稳定、安全且高效的服务;常见的 Windows Server 版本有:Windows Server 2012 R2、Windows Server 2016 以及 Windows Server 2019。
一台机架式服务器
相比于 Windows Server,业外或许对 Linux 的大名更加熟知。Linux 是一种自由和开放源代码的操作系统(Linux 本应仅仅对应内核含义,但现在我们所说的 Linux 是内核+用户空间应用程序的结合,即:Linux 为一种操作系统),并在服务器领域成功确立了其地位——基于“其低廉成本与高度可设置性”。Linux 发行版一直被用来作为服务器的操作系统,并且已经在该领域中占据重要地位。2010年11月公布的超级计算机前500强,有459个(91.8%)运行 Linux 发行版。Linux 与 Windows Server 不同,这种操作系统没有用户图形界面——就像我们在电影中所见到的黑客一样,Linux 使用命令行与用户进行交互。这意味着绝大多数人将会在学习 Linux 的第一个阶段被劝退,因为“实在是太不方便了”。想象一下,每一个命令都是要一个一个字符地从键盘中输入,一旦输错还要重新来过(且不管输入错误的风险,有时候这种风险相比于重新输入字符更加恼人),很多人表示对这种操作方式不能接受。(但事实上,习惯于使用 Linux 的人同样对 Windows 的图形界面表示不能理解)
购买前注册
要购买腾讯云产品,首先需要注册腾讯云账户。大体按照如下步骤进行注册:
前往 cloud.tencent.com/register,使用微信扫描屏幕二维码。
Back
Next
从该地址进入腾讯云控制台:console.cloud.tencent.com。建议将这个地址收藏,因为以后我们还要经常使用控制台。控制台的界面如下图,其中有用的元素我已经完成了标注:
对于新注册的帐号,需要做好安全措施。建议前往用户中心进行QQ、邮箱绑定并在“安全设置”选项中开启微信扫码二次校验。
购买云服务器
腾讯云针对新用户一直存在的一个优惠是:新用户轻量应用服务器首单 74元/年。前往 cloud.tencent.com/act/new,可以看到这一优惠在秒杀的第一排,服务器配置为 2核4G,带宽 8M,月流量 1200G——原价¥1680。这一优惠仅仅在用户第一次购买轻量应用服务器产品时才会生效,也就是说,一年后你需要按原价进行续费——估计没人会这么干。对于想一直薅羊毛的站长来说,随便用亲戚或朋友的微信注册一个新账号才是首选——你不会连十个朋友都没有吧,这一下子就能薅十年!六块钱一个月的服务器,想想真的是做梦都能笑醒。
双核4G 80G硬盘的服务器完全能够hold住 Windows Server,这种配置的服务器可以被称为小康水平。事实上,从 buy.cloud.tencent.com 能够看出这一配置的原价为 140 RMB/月。一年的原价并非 1680 RMB,因为如果年费购买的话会打8折,到手价 1428 RMB。所以现在我们找准这个配置和价格的服务器,点击“立即购买”,然后按照如下步骤操作:
如图,在“配置选择”页面的“活动地域”中选择“北京”,“镜像”选择“Windows Server 2019 中文版”。
Back
Next
云服务器概念
成功购买了云服务器后,前往轻量应用服务器控制台,控制台大致如左图所示。轻量应用服务器控制台(总览)能够对目前自己所有的服务器状态有一个简单的了解,所包含的服务器信息有:名称(类似昵称,可以自行更改)、配置信息(包括 CPU、内存、系统盘大小)、运行状态、公网 IP(下面我们即将介绍),以及快速登录到服务器的链接(蓝色链接“登录”)。所有的服务器都将按地区进行划分。此时作为新账号,你的轻量应用服务器应该只有一台。点击这台服务器的名称即可进入相应服务器的控制台。如果你对于本词条尚未提到的任何名词存在疑问,可以通过直接点击控制台右上角的“轻量应用服务器帮助文档”来查看官方文档。你还可以在“更多”选项中对服务器进行快捷操作,例如关机、重启、续费和升级。
在进一步部署云服务器之前,我们有必要来了解一下云服务器的一些名词。不完全掌握这些词的含义,就无法正常操作云服务器。这些名词的释义同样可以在腾讯官方的文档中进行查阅。
实例:云端的虚拟计算资源,可理解为轻量应用服务器,包括 CPU、操作系统、网络、磁盘等最基础的组件。轻量应用服务器实例通常适用于支撑小型网站、Web 应用、博客、论坛、云端开发/测试/学习环境等轻量级、低负载且访问量适中的应用场景。说白了,实例就是你的云服务器。
镜像:镜像是轻量应用服务器启动和运行的预制模版,其中包含预置的操作系统和预装的软件。轻量应用服务器提供系统镜像及应用镜像。简单来说,镜像就是你云服务器中安装的“系统”。
公网 IP:公网也被称为“广域网”,是连接不同地区局域网或计算机通信的远程网。承接很大的物理范围,所覆盖范围从几十公里到几千公里,它能够连接多个地区、城市和国家,甚至可以横跨几个洲,提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。公网 IP 地址是因特网的公用地址。具有公网 IP 的计算机和因特网上的其他计算机可互相访问。公网 IP 使得你的计算机能够被整个互联网上的任意位置访问——现在回想一下你自己的电脑,这台电脑上的内容貌似只有你本人能够访问。那么如何让任何一个其它地点的计算机访问你的电脑呢?很简单,为其分配公网 IP 。这样你的电脑就在庞大的互联网上拥有了一个专属于自己的“名字”,其他人只要知道你电脑的“名字”,就能够特定地与你的电脑建立连接。
防火墙:防火墙是保障轻量应用服务器网络安全的重要手段,您可以通过配置防火墙规则,对实例的特定端口进行开启,控制实例入流量。

地域和可用区:地域表示你的服务器当前所在的地区。可用区则进一步划分了这个地区。

流量包:指云服务器的出流量,也就是任何位置下载服务器文件的流量——上传文件到服务器并不计入流量。流量将按月刷新。
端口:虽然关于这个问题我真的很想让你去自行百度,但要完成一篇教程还是需要尽心尽力——所以我给你复制过来了。

如果把 IP 地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个 IP 地址的端口可以有65536(即:2的16次方)个之多。端口是通过端口号来标记的,端口号只允许为整数,范围是0到65535。在计算机网络中,各主机间通过 TCP/IP 协议发送和接收数据包,各个数据包根据其目的主机的 IP 地址来进行互联网络中的路由选择,将数据包顺利地传送到目的主机。而大多数操作系统都支持多进程同时运行——那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
所以综上所述,当我们访问一个公共网络上的服务器中存储的网页,首先需要定位这个服务器的“名字”,即公网 IP 地址。随后我们还要告知服务器:“我找你是想要访问你所存储的网站,而不是别的什么东西(服务器除了存储网站,可能还执行着很多其它的服务)”,而这个信息就要通过端口号传达——服务器中具有特定端口号的某个(或某些)进程负责传递网页文件。这一特定端口号是国际约定的,其数值为80,我们需要记住这个数字。
实例密码:自己的服务器必须要设置一个密码,否则不怀好意的人一旦得知你的服务器密码和公网 IP,就能够直接登录你的服务器。这个密码被称为实例密码。当你首次创建服务器时,为了安全起见,服务器中的系统将被随机分配一个密码。你需要将其更改为自己的密码(密码都不知道还登录个毛啊)。请按照如下步骤操作:
点击“实例信息”一栏中的“重置密码”按钮。
Back
Next
确定重置密码后,云服务器将开始执行密码重置操作,这期间将进行一次时长约为两分钟的重启。

以上就是对服务器进行基本操作所必须掌握的一些初级概念。在写这篇教程的时候,我原本是想要仅用一页——但现在看来大概需要三页。在下一篇教程中,我们将登录自己的服务器、迅速完成建立一个网站所需的基本配置,并成功打开自己的网页。要查看下一页,在顶栏右侧的按钮中打开右侧边栏即可找到前往下一页的链接。
技术文档:网站建设
 
 
 
 
 
 
 
 
 
 
 

Versions: 9.1.0.418663.rx75mf4749261477b8a60b3.p_0(-3).s_470_standard; [R.VER-0x47200C2F];[xw.ver-1443]

冀ICP备2020026568号-4 | 由 Microsoft Azure 提供云计算服务,站点由 UBR.TG 构建。

正文部分已结束。