绑定域名主要分为 DNS 解析 和 Nginx 配置 两个环节。
第一步:设置 DNS 解析
你需要登录你的域名注册商后台(如阿里云、腾讯云、Cloudflare、GoDaddy 等):
-
找到 DNS 解析设置 (DNS Management)。
-
添加两条记录:
-
A 记录 :主机记录填
@,记录值填你的 服务器公网 IP。 -
A 记录 :主机记录填
www,记录值填你的 服务器公网 IP。
-
-
等待解析生效(通常几分钟到几小时不等)。
第二步:修改 Nginx 配置文件
进入Nginx配置文件
bash
sudo nano /etc/nginx/sites-available/default
# 或者 sudo vim /etc/nginx/conf.d/default.conf
将你的 server_name 从 _ 修改为你的实际域名。
server {
listen 80;
listen [::]:80;
# 替换为你的真实域名
server_name yourdomain.com [www.yourdomain.com](https://www.yourdomain.com);
include /etc/nginx/mime.types;
root /var/www/hardware-personal-website;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
修改完成后,执行以下命令使配置生效:
sudo nginx -t
sudo systemctl reload nginx
第三步:配置 HTTPS (推荐)
为了安全和搜索引擎友好,建议使用 Let's Encrypt 申请免费的 SSL 证书。最简单的方法是使用 certbot。
-
安装 Certbot:
sudo apt update sudo apt install certbot python3-certbot-nginx -
获取并安装证书:
执行以下命令,Certbot 会自动修改你的 Nginx 配置并配置好 HTTPS 强制跳转:
sudo certbot --nginx -d yourdomain.com -d [www.yourdomain.com](https://www.yourdomain.com) -
按照提示操作:
-
输入你的邮箱(用于接收证书到期通知)。
-
同意服务协议。
-
选择是否将 HTTP 流量重定向到 HTTPS(建议选
2: Redirect)。
-
第四步:最终配置预览
Certbot 运行成功后,你的 Nginx 配置文件会自动变成类似这样:
server {
server_name yourdomain.com [www.yourdomain.com](https://www.yourdomain.com);
root /var/www/hardware-personal-website;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/[yourdomain.com/fullchain.pem](https://yourdomain.com/fullchain.pem); # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/[yourdomain.com/privkey.pem](https://yourdomain.com/privkey.pem); # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = [www.yourdomain.com](https://www.yourdomain.com)) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = yourdomain.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name yourdomain.com [www.yourdomain.com](https://www.yourdomain.com);
return 404; # managed by Certbot
}
💡 常见问题
-
防火墙 :确保你的服务器防火墙(如 ufw 或云控制台的安全组)已开启 80 (HTTP) 和 443 (HTTPS) 端口。
-
证书续期 :Certbot 默认会配置自动续期,你可以通过
sudo certbot renew --dry-run测试。