上一篇
虚拟主机设置二级站点
- 虚拟主机
- 2025-08-11
- 1
在虚拟主机中设置二级站点,需先通过管理面板新建子域名/目录,绑定独立域名,配置对应文档根目录,上传网页文件,并做好域名解析与权限设置,即可实现
前期准备条件
项目 | 要求 |
---|---|
已购买虚拟主机 | 确保拥有可绑定多个域名/子目录的权限 |
独立子域名 | 如 blog.example.com (需提前完成域名注册及DNS解析) |
服务器类型 | 根据主机提供商支持选择(常见为Apache/Nginx/IIS) |
文件传输工具 | FTP客户端(FileZilla/WinSCP)或控制面板自带的文件管理器 |
核心操作步骤(以Linux+Apache为例)
域名解析设置
操作路径:登录域名注册商后台 → 找到对应域名 → 添加解析记录
关键参数:
| 类型 | 主机记录 | 值 | TTL |
|———–|———-|——————|——|
| A记录 | @ | 虚拟主机IP地址 | 默认 |
| A记录 | blog | 同上IP地址 | 默认 |
提示:若使用CDN加速,需额外添加CNAME记录至CDN提供的域名
创建二级站点目录结构
标准路径示例:/public_html/blog
操作流程:
- 通过FTP连接至虚拟主机根目录
- 新建文件夹并命名(建议与子域名一致)
- 上传网站文件至该目录
- 设置目录权限为
755
(chmod -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规则支持 | ️ 灵活的正则表达式匹配 | ️ 部分功能需插件实现 |
维护成本 | ⭐️⭐️⭐️⭐️(社区文档丰富) | ⭐️⭐️⭐️⭐️⭐️(学习曲线陡峭) | ⭐️⭐️⭐️(依赖微软生态) |
注意事项清单
️ 必须检查项:
- 文件所有权归属(一般为
www-data:www-data
) - .htaccess文件是否被允许覆盖(
AllowOverride All
) - 防火墙端口开放状态(默认80/443端口)
- PHP版本兼容性(多站点建议统一版本)
- SSL证书部署(推荐使用Let’s Encrypt免费证书)
优化建议:
- 启用Gzip压缩提升加载速度
- 设置合理的缓存策略(浏览器端+服务器端)
- 定期备份站点配置文件
- 监控日志文件及时发现异常请求
相关问题与解答
Q1:为什么添加子域名后仍然跳转到主站?
解决方案:
- 检查DNS解析是否完全生效(可用
dig blog.example.com
验证) - 确认虚拟主机配置文件中的
ServerName
指令正确 - 排查是否存在全局重定向规则干扰(检查
.htaccess
中的RewriteRule) - 清除浏览器缓存或尝试无痕模式访问
Q2:如何实现三级及以上深度子域名?(如 dev.test.example.com)
实施步骤:
- 重复上述子域名解析流程,逐级添加DNS记录
- 在服务器端创建对应的多级目录结构(如
/public_html/dev/test
) - 编写递归式虚拟主机配置(Apache示例):
<VirtualHost :80> ServerName dev.test.example.com DocumentRoot /public_html/dev/test # ...其他配置项... </VirtualHost>
- 注意保持各层级目录权限一致
- 建议使用通配符SSL证书简化管理(如
.example.com