深色模式
如何拥有一个属于自己的网站 | 小白篇
开发环境与正式环境
我们整个小册都是围绕 Web 开发来进行 Vibe Coding 的。我们已经知道,在自己的电脑上可以运行 npm run dev,那么到了服务器上,还是运行同样的命令吗?答案当然是否定的。
首先需要明确的是,npm run dev 属于开发环境。这个命令主要用于实现文件的热更新:当监控到某个文件发生变化时,开发环境会重新加载,让页面能够实时刷新,方便我们在开发过程中进行调试。
但这样做的代价是牺牲了一部分性能。对于正式环境来说,以性能换取便利并不可取。在大多数情况下,代码文件不会频繁变更,我们更需要尽可能榨取服务器的性能,让有限的资源服务尽可能多的用户。

为什么选择静态站点
接下来,我将以本小册的部署为例进行说明。
首先需要明确的是,这个小册本质上是一个博客(Blog)。它可以是你现在看到的这本小册,也可以是一个记录日常生活的个人网站。我们通过网址访问它们,它们都有一个共同的名字,叫作网页。
我选择的承载小册内容的框架叫作 VitePress。它是一个由 Vite 和 Vue 驱动的静态站点生成器(官网介绍),主题则是由我驱动 AI 进行设计的。
那为什么选择静态站点生成器呢?最大的好处还是节省服务器资源。这种方式适合内容相对固定的网站,即不同的人访问同一个网址,看到的都是同一份网页内容。
与之相对应的动态生成,是在访问网站的过程中,由 PHP、Python、Java 等后端语言从数据库中获取数据,再组装成一个 HTML 页面。动态网站最大的特点就是交互性:即使访问同一个网址,每个人看到的内容也可以不同。
典型的例子是登录一个网站后进入个人介绍页。不同用户访问的可能都是 https://example.com/profile,但每个人看到的昵称、头像都不一样。
因此,从一开始准备写这本小册时,因为预估文章数量有限,出于性能考虑,使用静态文件生成的方式更加合适。文章使用 Markdown 文件进行编辑,再通过 npm run docs:build,将文章和主题转换为静态 HTML 文件,最后部署到服务器上。
从局域网走向互联网
在家庭或校内的局域网中,我们可以通过 IP 地址加端口的形式访问项目,比如这个小册项目。但是,如果想让不在同一个局域网内的人访问,就只能通过互联网来实现。
前面我们说过,服务器就是一台电脑主机。由于 IPv4 地址数量有限,普通家庭宽带通常会通过计算机网络中的 NAT 技术,让某片区域的许多家庭共用一个公网 IPv4 地址,而且这个地址还可能发生变化。企业宽带可以做到一条宽带对应一个固定的 IPv4 地址,但是价格较高。
既然无法让每台电脑都独享一个公网 IPv4 地址,我们开发出的网页程序也就不能直接让其他地方的人随时随地访问。
使用云服务器提供公网访问
对于从未把代码部署到服务器的老师来说,怎样才能突破局域网的限制,让其他人真正做到随处访问呢?得益于我国网络基础设施的完善,我们可以通过云服务器来部署网站。云服务器一般都有一个固定的 IPv4 地址。
在国内,中小企业使用较多的是 阿里云 和 腾讯云。对于个人来说,可以选择轻量云服务器,一年的费用大概是 99 元人民币。截至目前,腾讯云还有三年 350 多元人民币的套餐,配置是 2 核 2G 4M。
域名、DNS 与备案
当我们有了带公网地址的服务器,就能通过 IPv4 地址加端口进行访问。这个时候,聪明的你肯定会发现:虽然有了 IP 地址,但它是一串数字,不仅自己很难记住,更别提让其他人记住并访问了。
这时,一个好记的域名就闪亮登场了。有了域名后,通过配置,可以将域名和某个 IP 地址绑定起来,这个过程叫作域名解析(DNS)。这样一来,别人无需记住一串数字,通过你独特的域名就能直接访问网站。
那具体怎么做呢?我们再梳理一下,需要准备:
- 一台带公网 IPv4 地址的服务器。
- 一个完成 ICP 备案的域名。并不是购买了域名就万事大吉,可以直接解析到服务器。由于国内政策要求,我们需要对域名进行备案,也就是对域名和服务器的绑定进行登记。现在可以在购买服务器和域名的厂商处提交备案,备案过程是免费的。提交之后,由所在地通信管理局进行审核。只有审核通过后,域名才能正常解析到服务器,有的地方可能还需要进行公安备案。
- 配置 DNS 解析,绑定域名和 IP 地址。

flowchart TD A[本地编辑小册内容] --> B[执行正式构建] B --> C[生成静态 HTML 文件] C --> D[准备公网 IPv4 服务器] D --> E[购买并备案域名] E --> F[管局审核通过] F --> G[配置 DNS 解析] G --> H[域名绑定服务器 IP] H --> I[别人通过域名访问网站]
可以不备案吗
有的老师可能会问:“我就是不备案,可以吗?”
这里说明一下,对于校园使用场景,购买服务器时最好选择中国大陆地区的服务器,主要有三个原因:
- 国内访问速度会快一些。
- 服务器位于中国大陆以外的地区,例如中国香港,是无法进行 ICP 备案的。
- 不少学校接入的是政务网。出于安全考虑,没有完成 ICP 备案的网址可能无法访问,厂商会在访问时进行拦截并提示。
备案的必要条件是需要一个公网服务器进行绑定。我们在哪个厂商购买服务器,就在哪里购买域名,然后进行 ICP 备案。
以腾讯云为例,整个流程可以总结为:购买服务器 → 购买域名 → 在腾讯云提交备案 → 等待通信管理局审核通过 → 将域名解析到服务器。完成这些步骤后,就可以通过域名正常访问网站了。
具体怎样购买服务器和域名,又怎样进行备案呢?我会在接下来的文章中继续更新。
封面
