前期准备

域名购买

我目前主要是在这两个域名注册商购买域名。

  • 国内域名需要实名购买,国外域名不需要。
  • 用国内域名搭建网站,如果服务器在国内,需要备案,在国外或香港等地不需要备案。
  • 用国外域名不需要备案。

国内域名

  • 万网(阿里云)

官网地址:https://wanwang.aliyun.com
商家介绍:万网依托于阿里云旗下,以前只要说起域名基本就是万网,相当靠谱。

国外域名

  • Dynadot

官网地址:https://www.dynadot.com
商家介绍:国外域名注册商首选,有中文网站,支持支付宝付款,客服响应及时,免费隐私保护。

服务器购买

白嫖服务器

现在开始

nginx

  • 我安装的是ubuntu,打开命令行窗口,登录到服务器,比如当前为 root 用户,如果是其他用户记得加上 `sudo``
1
ssh root@*.*.*.* // 根据提示输入密码,建议注册新用户
  • 安装nginx,具体见 ubuntu 下安装 nginx,启动 nginx 后,浏览器打开 IP 地址,检查是否能打开 nginx 页面。
  • 拷贝一份静态 html 文件到远程用户目录
1
2
cd /User/username // cd 到本地目录
scp -r blog root@*.*.*.*:/home/blog // 复制本地文件到远程,blog中包含 index.html
  • 配置 nginx
1
2
cd /etc/nginx // 进入云端nginx目录
sudo vim nginx.conf // 修改nginx配置
1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name localhost;

location / {
root /home/blog;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
1
sudo systemctl reload nginx // 重启nginx
  • 打开浏览器,输入 IP 访问服务器是否能加载静态资源,如果能渲染说明配置成功。

DNS 解析

添加域名

我是在阿里云购买的域名,通过阿里云 DNS解析可以快速配置,添加域名。

iamge

记录解析

选择 A 类型、服务器 IPV4,后保存。比如我添加的域名是 blog,则访问地址为 http://blog.emooa.com 由于目前还未注册 ssl 证书,可以通过 http 访问到资源。

iamge

SSL 认证

要在服务器上配置 SSL 证书以启用 HTTPS

  • 获取 SSL 证书: 首先,你需要获取一个有效的 SSL 证书。你可以从 SSL 证书颁发机构(CA)购买一个证书,也可以使用免费的证书颁发机构(如 Let’s Encrypt)获取一个免费的 SSL 证书。

  • 安装 SSL 证书: 一旦你获得了 SSL 证书,你需要将证书文件和密钥文件(通常是 .crt 和 .key 文件)上传到服务器上。将这些文件存储在一个安全的目录中,只允许服务器访问。

  • 我通过阿里云申请免费 SSL 证书,每年可以免费申请 20 个证书,一年一申。阿里云免费 SSL 证书似乎不支持一个证书同时配置多个域名。当你成功添加 SSL 证书后,会在 dns 解析中看到一条 TXT 记录。这是为了防止恶意用户申请并使用他人的证书的方式之一。

    iamge

配置 nginx ssl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
listen 443 ssl;
server_name blog.emooa.com; // 替换成实际的域名地址

ssl_certificate cert/blog.emooa.com.pem; // 替换成实际的 pem
ssl_certificate_key cert/blog.emooa.com.key; // 替换成实际的 key

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

ssl_prefer_server_ciphers on;
error_page 404 /404.html;
location / {
root /home/blog; // 替换成实际的资源路径
index index.html index.htm;
# try_files $uri $uri/ /index.html;
}
}

好了,现在你可以通过访问 https://blog.emooa.com 来正确的访问到网站资源了。