Nginx 配置域名解析主要涉及 DNS 记录设置和 Nginx 服务器块的配置。以下是详细步骤:
首先需要在域名管理平台设置 DNS 记录:
A 记录:将域名指向服务器 IP
域名 @ A 记录 服务器IP
www A 记录 服务器IP
CNAME 记录(可选):设置别名
blog CNAME 记录 example.com.
等待 DNS 生效(通常需要几分钟到几小时)
在 Nginx 中配置域名解析(以 example.com 为例):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
# HTTP 重定向到 HTTPS
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
一个 Nginx 可以配置多个域名:
server {
listen 80;
server_name domain1.com www.domain1.com;
root /var/www/domain1;
# 其他配置...
}
server {
listen 80;
server_name domain2.com www.domain2.com;
root /var/www/domain2;
# 其他配置...
}
server {
listen 80;
server_name *.example.com;
root /var/www/wildcard;
# 其他配置...
}
检查配置语法:
sudo nginx -t
重载 Nginx 使配置生效:
sudo systemctl reload nginx
域名无法解析:
dig example.com
或 nslookup example.com
检查 DNS 解析Nginx 不响应:
systemctl status nginx
SSL 证书问题:
openssl s_client -connect example.com:443
测试 SSL 连接通过以上步骤,您可以成功配置 Nginx 的域名解析服务。