前一个站点废弃好久了,重新搭建一个记录一下。

注册域名

域名注册商有很多,国内可以用阿里云、腾讯云等。

海外可以用 NameSilo、namecheap、GoDaddy 等。

不过国内需要实名才可以使用。

购买云服务器

国内阿里云、腾讯云也都可以买,不过要备案。

可以买阿里云香港的 VPS,不用备案。

海外可以买搬瓦工、Vultr、Conoha、Host1Plus、Linode 等。

服务器选了 Debian 作为操作系统,当然其他 Linux 也可以。再配置好防火墙和 SSH 服务,就可以了。

修改 DNS 记录

在域名注册商的域名管理页面为之前注册的域名添加一条 A 记录,指向用来搭建网站的 VPS。A 记录也就是一般用来指向 IPv4 地址的 DNS 记录。

之后等个几分钟,应该就可以正确解析了。

搭建 HTTP 服务

为了方便安装和管理,这里用 docker 来承载服务。

docker 的安装参照 https://docs.docker.com/engine/install/debian/

这里用 nginx 创建 HTTP 服务。先拉取 nginx 镜像。

docker pull nginx

跑一个测试页面。

docker run --name nginx-http -d -p 80:80 nginx

配置防火墙。

ufw allow 80/tcp

这里用了 ufw 作为 iptables 命令前端,当然直接用 iptables 命令管理也是可以的。

如果能顺利访问 http 协议,就说明 HTTP 服务已经搭建好了

搭建 HTTPS 服务

HTTPS 服务就没有 HTTP 服务那样简单了。先要拿到 TLS 协议需要的证书才行。

大部分 TLS 证书提供商是要收费的,但一个非盈利组织创建的 Let’s Encrypt 项目为互联网提供了开放免费的证书颁发服务。通过 ACME 协议,就可以免费获取证书了。

该组织推荐使用 Certbot 作为 ACME 的客户端。这里用 docker 镜像免去安装步骤

docker pull certbot/certbot

安装 docker-compose 用来管理多个 docker 容器。

使用 nginx-certbot 项目脚本快速创建 HTTPS 服务。

docker-compose up

配置防火墙

ufw allow 443/tcp

验证下服务启动,就搭建完成了

参考

作者:lyincc

版权:本文采用 「CC BY 4.0」 知识共享许可协议进行许可。

地址:https://lyincc.com/tech/https-static-website/