当前位置:首页 > 虚拟主机 > 正文

虚拟主机设置二级站点

在虚拟主机中设置二级站点,需先通过管理面板新建子域名/目录,绑定独立域名,配置对应文档根目录,上传网页文件,并做好域名解析与权限设置,即可实现

前期准备条件

项目 要求
已购买虚拟主机 确保拥有可绑定多个域名/子目录的权限
独立子域名 blog.example.com(需提前完成域名注册及DNS解析)
服务器类型 根据主机提供商支持选择(常见为Apache/Nginx/IIS)
文件传输工具 FTP客户端(FileZilla/WinSCP)或控制面板自带的文件管理器

核心操作步骤(以Linux+Apache为例)

域名解析设置

操作路径:登录域名注册商后台 → 找到对应域名 → 添加解析记录
关键参数
| 类型 | 主机记录 | 值 | TTL |
|———–|———-|——————|——|
| A记录 | @ | 虚拟主机IP地址 | 默认 |
| A记录 | blog | 同上IP地址 | 默认 |

提示:若使用CDN加速,需额外添加CNAME记录至CDN提供的域名

创建二级站点目录结构

标准路径示例/public_html/blog
操作流程

虚拟主机设置二级站点  第1张

  1. 通过FTP连接至虚拟主机根目录
  2. 新建文件夹并命名(建议与子域名一致)
  3. 上传网站文件至该目录
  4. 设置目录权限为755chmod -R 755 /path/to/directory

配置虚拟主机规则(Apache示例)

编辑配置文件/etc/httpd/conf/extra/httpd-vhosts.conf

<VirtualHost :80>
    ServerName blog.example.com
    DocumentRoot /public_html/blog
    <Directory "/public_html/blog">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog logs/blog_error.log
    CustomLog logs/blog_access.log combined
</VirtualHost>

重启服务生效systemctl restart httpd

数据库关联(可选)

典型场景:WordPress等动态程序需独立数据库
操作要点

  • 在主机控制面板创建新数据库
  • 修改程序配置文件中的数据库连接信息
  • 注意数据库前缀不要与其他站点冲突

不同服务器方案对比表

特性 Apache方案 Nginx方案 IIS方案
配置复杂度 中等(需手动编辑配置文件) 较高(依赖location块嵌套) 图形化界面操作简单
性能表现 稳定但资源占用略高 高并发处理能力更强 Windows环境兼容性最佳
SEO友好度 ️ 完善的rewrite规则支持 ️ 灵活的正则表达式匹配 ️ 部分功能需插件实现
维护成本 ⭐️⭐️⭐️⭐️(社区文档丰富) ⭐️⭐️⭐️⭐️⭐️(学习曲线陡峭) ⭐️⭐️⭐️(依赖微软生态)

注意事项清单

必须检查项

  1. 文件所有权归属(一般为www-data:www-data
  2. .htaccess文件是否被允许覆盖(AllowOverride All
  3. 防火墙端口开放状态(默认80/443端口)
  4. PHP版本兼容性(多站点建议统一版本)
  5. SSL证书部署(推荐使用Let’s Encrypt免费证书)

优化建议

  • 启用Gzip压缩提升加载速度
  • 设置合理的缓存策略(浏览器端+服务器端)
  • 定期备份站点配置文件
  • 监控日志文件及时发现异常请求

相关问题与解答

Q1:为什么添加子域名后仍然跳转到主站?

解决方案

  1. 检查DNS解析是否完全生效(可用dig blog.example.com验证)
  2. 确认虚拟主机配置文件中的ServerName指令正确
  3. 排查是否存在全局重定向规则干扰(检查.htaccess中的RewriteRule)
  4. 清除浏览器缓存或尝试无痕模式访问

Q2:如何实现三级及以上深度子域名?(如 dev.test.example.com)

实施步骤

  1. 重复上述子域名解析流程,逐级添加DNS记录
  2. 在服务器端创建对应的多级目录结构(如/public_html/dev/test
  3. 编写递归式虚拟主机配置(Apache示例):
    <VirtualHost :80>
     ServerName dev.test.example.com
     DocumentRoot /public_html/dev/test
     # ...其他配置项...
    </VirtualHost>
  4. 注意保持各层级目录权限一致
  5. 建议使用通配符SSL证书简化管理(如.example.com
0