landing.kanyiyi.com,新增子域名部署
你想在部署了 kanyiyi.com 的 Nginx 服务器上,新增一个子域名 landing.kanyiyi.com,让它指向服务器上的 /var/www/index.html 文件,这个需求完全可以实现,我会一步步教你配置方法。
实现思路
核心是在 Nginx 中为子域名 landing.kanyiyi.com 配置独立的 server 块,指定其根目录和默认访问的 index.html 文件,同时确保 DNS 解析将子域名指向该服务器的 IP。
具体配置步骤
步骤 1:准备文件和目录(确保基础环境)
首先确认目标文件存在,若不存在可先创建测试文件:
# 创建目录(如果不存在)
mkdir -p /var/www/
# 创建测试用的 index.html(替换为你的实际登录页)
echo "<h1>Welcome to landing.kanyiyi.com</h1>" > /var/www/index.html
# 设置正确的权限(避免 Nginx 无权访问)
chmod 644 /var/www/index.html
chown www-data:www-data /var/www/index.html # www-data 是 Nginx 默认运行用户步骤 2:配置 Nginx 虚拟主机
Nginx 的配置文件通常放在 /etc/nginx/ 目录下,推荐为子域名创建独立配置文件(而非直接修改主配置),便于管理。
方式 1:创建独立配置文件(推荐)
新建子域名配置文件:
vim /etc/nginx/conf.d/landing.kanyiyi.com.conf写入以下配置内容(关键注释已标注):
# 为子域名 landing.kanyiyi.com 配置独立的 server 块 server { # 监听 80 端口(HTTP),处理 landing.kanyiyi.com 的请求 listen 80; listen [::]:80; # 子域名域名(核心,匹配该域名的请求) server_name landing.kanyiyi.com; # 网站根目录(指向存放 index.html 的目录) root /var/www; # 默认索引文件(优先访问 index.html) index index.html; # 字符集配置(可选,避免中文乱码) charset utf-8; # 日志配置(可选,便于排查问题) access_log /var/log/nginx/landing.kanyiyi.com.access.log; error_log /var/log/nginx/landing.kanyiyi.com.error.log; # 精准匹配根路径 /,指向 index.html(确保直接访问域名时加载目标文件) location / { try_files $uri $uri/ /index.html; expires -1; # 禁用缓存(登录页建议禁用,避免缓存旧内容) } # 防止访问隐藏文件(可选,安全优化) location ~ /\. { deny all; access_log off; log_not_found off; } }
方式 2:若主域名 kanyiyi.com 已有配置,可追加到主配置
如果 kanyiyi.com 的配置在 /etc/nginx/sites-available/kanyiyi.com(Debian/Ubuntu 系统)或 /etc/nginx/conf.d/kanyiyi.com.conf,可在同一文件中新增上述 server 块(两个 server 块并列即可)。
步骤 3:验证配置并重启 Nginx
检查配置语法是否错误(关键,避免重启失败):
nginx -t若输出
nginx: configuration file /etc/nginx/nginx.conf test is successful则说明配置正确。重启 Nginx 使配置生效:
# Debian/Ubuntu 系统 systemctl restart nginx # CentOS/RHEL 系统 systemctl restart nginx
步骤 4:配置 DNS 解析(关键)
需要在你的域名服务商(如阿里云、腾讯云、Cloudflare 等)后台,为 landing.kanyiyi.com 添加 A 记录(或 AAAA 记录,若用 IPv6),指向 Nginx 服务器的公网 IP。
- 记录类型:A
- 主机记录:landing
- 记录值:你的服务器公网 IP
- TTL:建议 5 分钟(快速生效)
步骤 5:测试访问
等待 DNS 解析生效(通常 5-10 分钟)后,在浏览器访问 http://landing.kanyiyi.com,应能看到 /var/www/index.html 的内容。
进阶补充(可选)
如果需要为子域名配置 HTTPS(推荐,登录页建议加密),可通过 Let's Encrypt 申请免费证书:
# 安装 certbot(以 Ubuntu 为例)
apt update && apt install certbot python3-certbot-nginx
# 为子域名申请证书并自动配置 Nginx
certbot --nginx -d landing.kanyiyi.com执行后 certbot 会自动修改 Nginx 配置,添加 HTTPS 监听(443 端口)和证书路径。
总结
- 核心是为子域名创建独立的 Nginx
server块,通过server_name匹配子域名,root指定文件目录,index指向目标 index.html。 - 配置后需验证语法、重启 Nginx,并在域名服务商处配置子域名的 DNS 解析。
- 可选配置 HTTPS 提升安全性,certbot 可自动完成证书申请和配置。
如果配置后无法访问,可检查:① Nginx 日志(/var/log/nginx/landing.kanyiyi.com.error.log);② 服务器防火墙是否放行 80/443 端口;③ DNS 解析是否生效(可通过 ping landing.kanyiyi.com 验证)。