apache服务器配置有哪些,怎么设置才正确?

Apache服务器的配置不是一揽子操作,而是围绕虚拟主机、目录权限、模块、性能、日志和SSL这几条主线展开。 只要理清这几个模块,你就能根据业务需求灵活调整,而不是死记配置文件。

Apache虚拟主机配置方法,基于域名部署多个站点

虚拟主机是Apache最常用的功能,目的是在一台机器上托管多个网站,你只需要在配置中添加虚拟主机块,每个块对应一个域名和目录。

Linux实验10 Apache服务器配置
加载中
Linux实验10 Apache服务器配置

配置前的准备

  • 确认Apache版本,多数Linux发行版使用2.4,命令apache2 -v可查看。
  • 准备域名解析,让域名指向服务器IP。
  • 创建站点根目录,例如/var/www/example。

基于域名的虚拟主机配置步骤

  1. 编辑主配置文件httpd.conf或apache2.conf,找到Include相关行,打开虚拟主机配置文件:
    Include conf/extra/httpd-vhosts.conf
  2. 打开httpd-vhosts.conf,清空示例内容,添加以下块:
    <VirtualHost :80>
        ServerName example.com
        DocumentRoot /var/www/example
        <Directory /var/www/example>
            Options FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
  3. 执行apachectl configtest检查语法,再重启服务:systemctl restart apache2。

常见报错是ServerName没写,或目录权限被拒绝,前者加一行ServerName即可,后者检查目录权限和SELinux状态。

Apache服务器配置详解:目录权限的核心写法

目录权限是Apache安全配置里最容易忽略的环节。<Directory>指令控制着某个目录下能执行什么操作,AllowOverride决定.htaccess能否覆盖当前配置。

  • Options控制目录特性,如FollowSymLinks允许跟随符号链接,Indexes允许显示目录列表,后者建议关闭。
  • Require用于访问控制。Require all granted代表允许所有人,Require ip 192.168.1.0/24代表只允许内网访问。
  • AllowOverride All开启后,.htaccess文件才有效,但会带来性能损耗,能写在虚拟主机里就别用

    apache服务器配置有哪些,怎么设置才正确?

    .htaccess。

Apache核心模块配置,按需启用避免多余开销

Apache的功能靠模块撑起来,模块不是开得越多越好,每加载一个都会占用内存,生产环境里,你应该先禁用用不到的模块,再按需开启。

查看当前加载了哪些模块

执行apache2ctl -M会列出所有已编译进二进制的模块,输出中带shared的表示动态加载,static的表示编译进核心,如果你看到status_module运行时不需要,就可以关掉。

在Debian/Ubuntu系列上,模块管理命令非常直观:

  • a2enmod rewrite 启用rewrite模块
  • a2dismod autoindex 禁用autoindex模块
  • 修改后执行systemctl reload apache2生效

CentOS/RHEL系列没有a2enmod,你需要手动编辑httpd.conf,在LoadModule行前加注释即可禁用一个模块。

三个常用模块及配置场景

  • mod_rewrite:用于URL重写和伪静态,WordPress的固定链接依赖它。
  • mod_headers:可以修改HTTP响应头,比如添加X-Content-Type-Options。
  • mod_expires:设置静态资源缓存过期时间,减轻源站压力。

举个例子,用mod_expires设置图片缓存一个月:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 30 days"
</IfModule>

模块配置的关键是改完先apachectl configtest,再reload,不要让错误配置直接重启,否则会中断在线业务。

Apache性能优化配置,让网站在高并发下更稳定

性能优化是Apache配置中技术含量较高的部分,主要有三个方向:进程模型、模块裁剪、缓存层,行业共识认为,Apache的调优不能只看参数,要结合服务器内存和业务特点。

prefork、worker与event三种MPM怎么选

Apache提供多种多进程处理模块(MPM),不同版本默认不同。

MPM模式 线程支持 适用场景 内存占用
prefork 无线程 兼容老模块,如mod_php

apache服务器配置有哪些,怎么设置才正确?

较高

worker多线程混合动态请求较低
event事件驱动高并发长连接最低
  • 如果使用mod_php,只能选prefork,因为PHP老版本不是线程安全的。
  • 如果使用PHP-FPM,推荐event或worker。
  • 内存有限的小型服务器,event模式更合理。

切换MPM后,需要调整prefork.c或event.c中的关键参数:

<IfModule mpm_prefork_module>
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      150
    MaxConnectionsPerChild 10000
</IfModule>

MaxRequestWorkers是核心参数,代表最大并发进程数,业内专家指出,这个值要根据服务器内存和单进程占用大小推算,盲目调大会导致交换分区频繁使用。

启用mod_cache做页面缓存

Apache的mod_cache支持磁盘和内存缓存,对于WordPress这类动态站点,可以缓存静态资源。

LoadModule cache_module modules/mod_cache.so
LoadModule cache_disk_module modules/mod_disk_cache.so
<IfModule mod_cache.c>
    CacheDefaultExpire 3600
    CacheEnable disk /
    CacheRoot /var/cache/apache/mod_cache
</IfModule>

注意缓存目录需要由Apache进程写入,创建后设置属主为www-data。

Apache与Nginx对比,按场景选型更合理

很多人在配置服务器时都会纠结Apache还是Nginx,Apache配置灵活,模块丰富;Nginx并发能力强,静态文件处理快。

对比项 Apache Nginx
配置修改 支持.htaccess,可运行时修改 需要reload,不支持.htaccess
动态语言支持 直接模块绑定 通过FastCGI
高并发静态文件 一般 优异
模块生态 非常庞大 相对精简
学习曲线 平缓 中等

如果你的项目依赖.htaccess,或者你用共享主机,Apache更省心,如果追求极致并发,而且主要提供API或静态资源,Nginx优势明显,没有绝对好坏,只有是否匹配场景。

apache服务器配置有哪些,怎么设置才正确?

Apache配置SSL证书,让网站自动跳转HTTPS

HTTPS已经成为标配,Apache配置SSL证书主要分三步:获得证书、修改虚拟主机、强制跳转。

  1. 将证书文件和私钥文件上传到服务器,常见路径为/etc/ssl/。
  2. 在httpd-ssl.conf或虚拟主机中添加监听443的配置:
    <VirtualHost :443>
        ServerName example.com
        DocumentRoot /var/www/example
        SSLEngine on
        SSLCertificateFile /etc/ssl/example.crt
        SSLCertificateKeyFile /etc/ssl/example.key
    </VirtualHost>
  3. 启用SSL模块和重写模块,然后在80端口的虚拟主机中添加重定向:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

完成上述配置后,apachectl configtest通过就可以重启,证书续期时,只需要覆盖证书文件再reload。

Apache配置的核心思路是模块化,你不需要记下所有指令,只需掌握虚拟主机、目录权限、性能、SSL这些骨架,遇到问题再查模块文档,就能在生产环境中稳扎稳打。

Apache配置常见问题解答

Apache虚拟主机配置不生效怎么办?

首先检查apachectl -S输出的虚拟主机列表,看是否包含预期域名,如果缺少,大概率是Include路径没打开,或者配置文件语法错误,浏览器可能缓存了旧DNS或旧连接,可以先用curl -H "Host: example.com" http://服务器IP测试。

Apache启动时报“Address already in use”怎么处理?

该报错说明端口被其他进程占用,用ss -lntp | grep :80查找占用进程,然后结束冲突进程,如果服务器启用了Nginx,需要先关闭Nginx或修改端口,也可能Apache自身重复启动,用systemctl restart apache2会先停止旧进程,通常能解决。

Apache与Nginx哪个更适合小型服务器?

小型服务器内存通常在1GB到2GB之间,Apache的event模式配合PHP-FPM可以做到稳定运行,Nginx则以更低内存占用完成同样任务,如果你的网站依赖Apache的.htaccess或某些特有模块,选Apache;否则Nginx更轻,没有标准答案,取决于你现有代码的兼容性。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/715121.html

赞 (0)
服务器存储选哪个好,怎么选性价比高
上一篇 2026年10月6日 09:01
云流量服务器一键部署怎么操作,性价比高吗?
下一篇 2026年10月6日 09:06

相关推荐

  • 广州gpu服务器安装JDK,gpu服务器如何配置java环境

    在广州地区的GPU服务器环境中,高效完成JDK安装与配置是保障深度学习框架及高性能计算任务稳定运行的前提,核心结论在于:必须根据GPU服务器的具体硬件架构(如NVIDIA A100/H800)与操作系统版本,精准匹配JDK版本,并严格配置环境变量与系统依赖,避免因环境冲突导致的算力损耗, 广州GPU服务器安装J……

    2026年3月29日
    10000
  • 如何用access遍历数据库表代码?access数据库查询语句怎么写

    通过VBA中的ADO对象库连接Access数据库,利用Recordset对象的MoveNext方法配合循环语句,即可高效遍历表数据并执行读写操作,这是处理本地结构化数据最稳定且无需额外安装驱动的标准方案,在开发桌面级应用或进行本地数据维护时,Access数据库因其轻量级特性被广泛使用,当面对成千上万条记录时,手……

    2026年7月3日
    1110
  • 租用服务器带宽有哪些价格套路?服务器带宽租用费用一般多少钱

    租用服务器带宽的价格陷阱,核心在于“计量单位不透明”与“资源质量不对等”,企业若只看报价单上的数字,往往会陷入“低价买入、高价运维”的泥潭,真正的高性价比方案,必须穿透价格表象,从带宽类型、线路质量、计费模式三个维度进行拆解,确保每一分预算都转化为实实在在的业务承载能力, 带宽类型决定价格底价:独享与共享的本质……

    2026年3月3日
    11900
  • 老域名权重一定比新域名高吗,新域名如何快速提升权重?

    老域名权重并不一定比新域名高,权重评估的是网站在搜索引擎眼里的综合信任度,老域名只是加分项,核心还是内容、结构与运营策略,很多站长在起步时都纠结过这个问题:手里有几个老域名,但网站内容是全新的,搜索引擎到底会不会看老域名的面子?有些老域名看着年限不短,却一直没正经做过网站,甚至被搜索引擎标记过异常行为,这种域名……

    2026年9月2日
    600
  • 服务器的主要性能指标有哪些,怎么选择?

    服务器性能指标有哪些?核心答案就一句话:CPU使用率、内存占用、磁盘IO、网络带宽和响应时间这五类指标,构成了判断一台服务器健康程度的基础框架,缺一不可, 把这五项盯住了,服务器是“亚健康”还是“病入膏肓”,基本能看个八九不离十,下面我把每一项掰开揉碎讲清楚,顺便带上实际操作命令和排查思路,CPU使用率:服务器……

    2026年10月5日
    100
  • 服务器异地备份软件有哪些产品优势,怎么选?

    服务器异地备份软件的核心优势在于,它通过将数据副本传输到物理隔离的目标端,实现灾难发生时的快速恢复,且具备增量同步、跨平台支持和自动化演练等现代数据保护关键能力,服务器异地备份软件哪个好?产品优势是筛选核心选型初期,功能列表往往让人眼花缭乱,但真正决定软件能否在故障时扛住压力的,是下面几个隐藏较深的产品优势,缺……

    2026年8月1日
    500
  • 广州FPGA服务器监听端口号是什么?如何查看FPGA服务器端口

    在广州地区部署高性能计算集群,FPGA服务器的端口监听配置直接决定了硬件加速效能的转化率,核心结论在于:监听端口号并非简单的网络设置,而是连接FPGA硬件逻辑与上层应用软件的“神经中枢”,配置不当将导致高吞吐量数据流阻塞,甚至引发严重的丢包与延迟激增,确保监听端口的高可用性、低延迟性以及安全隔离,是广州FPGA……

    2026年3月30日
    8500
  • access数据库基础与应用是什么?access数据库怎么打开

    Access数据库适合中小型企业构建轻量级业务系统,其核心优势在于开发门槛低、与Office生态无缝集成且部署成本极低,但面对高并发或海量数据时性能会显著下降,Access数据库的核心定位与适用场景Access并非万能钥匙,它在数据库家族中占据着独特的生态位,业内专家指出,Access是微软Office套件中的……

    2026年7月3日
    4100
  • 互联网企业大数据安全需求是什么?企业数据安全合规要求有哪些

    互联网企业的大数据安全需求,本质上是构建一套覆盖数据全生命周期的合规防护体系,以平衡业务创新效率与隐私保护红线,确保在数据泄露风险可控的前提下实现数据资产的价值最大化,合规底线:从被动应对到主动防御过去几年,数据安全不再仅仅是技术部门的“后台工作”,而是直接关乎企业生死存亡的“前台战略”,随着《数据安全法》和……

    2026年6月3日
    5200
  • HTML5离线存储怎么实现?Web Storage和IndexedDB的区别

    HTML5离线存储主要依赖Application Cache(已废弃)、LocalStorage、SessionStorage以及Service Worker配合Cache Storage技术,其中Service Worker是目前构建高性能离线应用的首选方案,在移动互联网时代,用户对于“随时可用”的期待已经超……

    2026年6月8日
    3500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注