导读:本期聚焦于雪花创作的《如何在腾讯云CVM上正确配置Apache服务器实现多站点托管》,敬请观看详情。把单个腾讯云CVM实例变成能同时承载多个域名的Web服务器,关键点在于Apache虚拟主机的规划与权限隔离。不少人在控制台放通安全组后仍然无法访问,其实是httpd.conf里没有打开vhost模块,或者站点根目录的SELinux上下文错误。本文从实例初始化后的系统层准备说起,对比基于域名的虚拟主机和基于端口的虚拟主机在CVM网络环境下的适用差异,并给出可复用的配置片段。我们还会说明如何用云监控配合Apache状态模块排查空闲连接占用,以及证书部署中常见的链式文件遗漏问题,帮助你少走弯路。

在腾讯云CVM上部署Apache并承载多个独立站点,并不是简单安装完httpd就能完工。系统层面的用户权限、安全组策略、以及Apache自身的多路处理模块都会直接影响最终可用性。很多故障表现为浏览器返回403或者连接超时,但根因往往藏在配置文件的作用域冲突中。理解CVM的网络模型与Apache请求路由的对应关系,是稳定托管的前提。

如何在腾讯云CVM上正确配置Apache服务器实现多站点托管

一、CVM实例初始化与Apache安装要点

新购的腾讯云CVM通常提供CentOS、Ubuntu或TencentOS镜像。在正式配置Apache前,需要先完成系统更新与基础安全加固。建议创建一个专用的系统用户组,例如webadm,将后续维护人员加入该组,避免直接使用root操作网站目录。同时应检查实例绑定的公网IP是否在安全组里放通了80与443入站规则,腾讯云默认安全组常常只开启22端口,这会导致Apache启动后外部无法访问。

安装Apache时,CentOS系列使用yum install httpd,Ubuntu则使用apt install apache2。安装完成后不要急于启动,应先确认/etc/httpd/conf/httpd.conf(或Ubuntu下的/etc/apache2/apache2.conf)中ServerTokensServerSignature的设置,生产环境建议关闭签名以减少信息泄露。另外,CVM的磁盘一般挂载在/data/mnt,最好将网站根目录规划到数据盘,防止系统盘写满引发服务异常。

下面是一个在CentOS CVM上初始化目录与权限的示例脚本,它将站点统一放在数据盘并赋予Apache进程读取权限:

# 创建数据盘站点根目录
mkdir -p /data/www/site_a /data/www/site_b
# 修改目录属主为apache用户
chown -R apache:apache /data/www
# 设置目录权限,禁止其他用户写入
chmod -R 755 /data/www
# 放通防火墙(firewalld场景)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

二、基于域名的虚拟主机配置与多站点隔离

Apache最通用的多站点方案是基于域名的虚拟主机(NameVirtualHost)。在腾讯云CVM上,你需要先确认域名解析已指向该实例的公网IP,然后在Apache中为每个域名定义独立的VirtualHost块。每个块内部通过ServerName指令绑定域名,用DocumentRoot指向对应目录。这种方式的优势是端口共用,对外只需暴露80和443,适合中小业务集中部署。

配置时必须注意指令作用域。如果主配置里定义了全局的Directory权限为Require all denied,那么每个虚拟主机的Directory块都需要显式放行,否则会触发403。另外,CVM若开启了SELinux,还需用semanage fcontext给新目录打上httpd_sys_content_t标签,否则Apache无权限读取文件。很多人忽略这一步,在日志里看到Permission denied却查不出原因。

以下示例展示两个域名在同一CVM上的Apache虚拟主机配置,包含日志分离与PHP支持:

<VirtualHost *:80>
    ServerName www.ippipp.com
    DocumentRoot /data/www/site_a
    ErrorLog /var/log/httpd/site_a_error.log
    CustomLog /var/log/httpd/site_a_access.log combined
    <Directory /data/www/site_a>
        Require all granted
        AllowOverride All
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName blog.ippipp.com
    DocumentRoot /data/www/site_b
    ErrorLog /var/log/httpd/site_b_error.log
    CustomLog /var/log/httpd/site_b_access.log combined
    <Directory /data/www/site_b>
        Require all granted
        AllowOverride All
    </Directory>
</VirtualHost>

除了基于域名,也可以基于端口划分站点,例如让管理后台运行在8080端口。但这要求在腾讯云安全组额外放通高位端口,且用户访问时需带端口号,体验较差。在CVM带宽有限的情况下,基于域名的方案能更高效地复用连接,也便于后续统一接入CDN或WAF。

三、HTTPS证书部署与Apache性能调优

腾讯云提供免费DV证书,下载后通常包含公钥、私钥与中间证书链。部署到Apache时,很多人只配置了SSLCertificateFileSSLCertificateKeyFile,遗漏了SSLCertificateChainFile,导致部分旧客户端报证书不可信。正确做法是在443的VirtualHost中补全三项,并开启SSLProtocol禁用不安全的TLSv1.0。

性能方面,CVM的CPU核数决定了Apache的MaxRequestWorkers上限。若实例为2核4G,使用prefork模块时该值建议控制在150以内,避免内存耗尽被OOM杀死。可以启用mod_deflate压缩文本响应,并配合mod_expires设置浏览器缓存,显著降低回源压力。以下片段展示基础的SSL与压缩配置:

<VirtualHost *:443>
    ServerName www.ippipp.com
    DocumentRoot /data/www/site_a
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/www.ippipp.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/www.ippipp.com.key
    SSLCertificateChainFile /etc/pki/tls/certs/intermediate.crt
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1
    <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/css application/javascript
    </IfModule>
</VirtualHost>

最后,利用腾讯云监控查看CVM的CPU和带宽曲线,结合Apache的server-status页面(需限制内网访问)观察空闲子进程数。当发现大量reading状态连接时,应调小Timeout指令,防止慢连接挤占worker。这样整套Apache在CVM上的配置既安全又具备扩展性。

ApacheCVM虚拟主机修改时间:2026-08-18 09:52:29

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。