首先搭建apache web服务并进行性能调优,具体步骤为:1. 在centos上安装httpd并启动服务,设置开机自启;2. 配置防火墙放行http/https流量;3. 将网站文件部署至默认目录/var/www/html/或配置虚拟主机;4. 选择event mpm模式以提升高并发处理能力,并通过调整startservers、minsparethreads、maxsparethreads、threadsperchild、maxrequestworkers、maxconnectionsperchild和serverlimit等参数优化并发性能;5. 启用mod_deflate模块实现gzip压缩以减少传输数据量;6. 启用mod_expires模块设置静态资源缓存策略,提升加载速度;7. 禁用info、status、autoindex等不必要的模块以降低内存消耗和安全风险;8. 合理配置keepalive参数,包括开启长连接、设置keepalivetimeout为5秒、maxkeepaliverequests为100,以平衡连接复用与资源占用;9. 使用rotatelogs工具实现日志轮转,避免日志文件过大影响性能;10. 通过ss命令查看连接状态,使用ab工具进行压力测试,启用mod_status模块监控服务器实时状态;最终实现一个安全、高效、可扩展的apache web服务,建议静态资源由nginx或cdn处理,apache专注动态内容。

搭建 Web 服务并优化 Apache 是一个常见但关键的任务,尤其在高并发或资源有限的服务器环境中。下面从搭建 Web 服务和Apache 调优两个部分来详细说明。
安装 Apache(httpd)
sudo yum install httpd -y
或使用 dnf(CentOS 8+):
sudo dnf install httpd -y
启动并设置开机自启
sudo systemctl start httpd sudo systemctl enable httpd
防火墙放行 HTTP/HTTPS
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
测试访问 打开浏览器访问服务器 IP,看到 “Apache HTTP Server Test Page” 表示成功。
部署网站文件 默认网站根目录为
/var/www/html/
配置虚拟主机(可选) 在
/etc/httpd/conf.d/
.conf
example.com.conf
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html/example
ErrorLog /var/log/httpd/example_error.log
CustomLog /var/log/httpd/example_access.log combined
</VirtualHost>然后重启 Apache:
sudo systemctl restart httpd
Apache 的性能调优主要围绕并发处理能力、资源占用和响应速度展开。以下是核心调优方向:
Apache 支持三种 MPM:
prefork
worker
event
event
查看当前 MPM:
httpd -V | grep -i mpm
编辑配置文件启用 event 模块:
sudo vim /etc/httpd/conf.modules.d/00-mpm.conf
确保加载的是:
LoadModule mpm_event_module modules/mod_mpm_event.so
并注释掉其他 mpm(如 prefork、worker)。
编辑
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.modules.d/00-mpm.conf
mpm_event.conf
<IfModule mpm_event_module>
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 1000
ServerLimit 16
</IfModule>参数说明:
StartServers
MinSpareThreads
MaxSpareThreads
ThreadsPerChild
MaxRequestWorkers
MaxConnectionsPerChild
ServerLimit
例如:16 个进程 × 25 线程 = 400 最大并发,符合 MaxRequestWorkers。
减少传输数据量,提升加载速度。
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/javascript application/json
</IfModule>让浏览器缓存静态文件,减少重复请求。
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
</IfModule>减少内存占用和攻击面:
httpd -M | grep -E "(info|status|autoindex|userdir)" # 查看是否加载了不必要的模块
在
/etc/httpd/conf.modules.d/
# LoadModule autoindex_module modules/mod_autoindex.so # LoadModule userdir_module modules/mod_userdir.so
长连接能减少 TCP 握手开销,但过多会占用连接资源。
KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 100
KeepAliveTimeout
MaxKeepAliveRequests
避免日志过大影响性能,使用
rotatelogs
cronolog
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log 86400" combined
查看当前连接状态
sudo ss -tulnp | grep httpd
压力测试(使用 ab 工具)
ab -n 1000 -c 100 http://your-server/index.html
查看 Apache 状态(启用 mod_status)
<Location /server-status>
SetHandler server-status
Require ip 192.168.1.0/24 # 限制访问 IP
</Location>访问
http://your-server/server-status
MaxRequestWorkers
基本上就这些,不复杂但容易忽略细节。
以上就是如何搭建web服务 apache调优的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号