在Linux服务器环境中,Apache HTTP Server 是最为常见和成熟的Web服务器之一。作为一款开源软件,Apache以其稳定性、高度可配置性和广泛的模块支持,成为网站与应用的核心承载平台。对于使用CentOS系统的用户来说,部署和配置Apache服务器是入门运维必备的技能。下面我们就来详细介绍安装Apache服务器配置的详细指南,可供参考!
一、安装Apache服务器
1. 更新系统
在开始之前,建议先更新系统软件包:
yum update -y
2. 安装Apache
CentOS官方软件源已包含Apache软件包,其名称为httpd:
yum install -y httpd
3. 启动与开机自启
安装完成后,启动Apache服务并设置为开机自启:
systemctl start httpd
systemctl enable httpd
4. 防火墙放行
若服务器启用了firewalld,需放行HTTP与HTTPS端口:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
5. 验证安装
在浏览器中访问服务器IP地址,若能看到默认的Apache欢迎页面,说明安装成功。
二、Apache基础配置
Apache的主配置文件路径:
/etc/httpd/conf/httpd.conf
- 额外配置目录:
/etc/httpd/conf.d/
修改配置文件后需重启Apache:
systemctl restart httpd
1. 修改监听端口
默认情况下,Apache监听80端口。若需修改,可在httpd.conf中修改:
Listen 8080
2. 配置默认网页目录
Apache默认网站目录为 /var/www/html
。将网站文件放置于该目录即可对外提供访问。
3. 设置自定义主页
默认加载 index.html
或 index.php
,可在DirectoryIndex
指令中修改:
DirectoryIndex index.php index.html
三、虚拟主机配置
虚拟主机用于在一台服务器上运行多个站点。Apache支持基于IP、端口和域名的虚拟主机。
1. 基于域名的虚拟主机
在/etc/httpd/conf.d/
下创建配置文件,例如example.conf
:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example
ErrorLog /var/log/httpd/example_error.log
CustomLog /var/log/httpd/example_access.log combined
</VirtualHost>
创建网站目录并赋予权限:
mkdir -p /var/www/example
chown -R apache:apache /var/www/example
2. 基于端口的虚拟主机
Listen 8081
<VirtualHost *:8081>
ServerName site.local
DocumentRoot /var/www/site
</VirtualHost>
3. 启用配置
保存后重启服务:
systemctl restart httpd
四、启用常用模块
Apache功能依赖于模块,可按需开启。
1. Rewrite模块
用于URL重写,在SEO和反向代理中常用:
LoadModule rewrite_module modules/mod_rewrite.so
启用后可在.htaccess中编写规则,例如:
RewriteEngine On
RewriteRule ^about$ about.html [L]
2. SSL模块
用于HTTPS加密访问:
yum install -y mod_ssl
安装后会生成/etc/httpd/conf.d/ssl.conf
,可在其中配置证书路径。
五、性能优化
1. MPM多进程模型
Apache支持不同的MPM(Multi-Processing Module),常见有:
- prefork:每个请求使用独立进程,稳定但占用资源高。
- worker:使用多线程,适合高并发。
- event:worker改进版,更高效。
修改配置文件 /etc/httpd/conf.modules.d/00-mpm.conf
,选择合适的MPM。
2. 启用压缩
通过mod_deflate
启用Gzip压缩,减少传输数据量:
AddOutputFilterByType DEFLATE text/html text/css application/javascript
3. 启用缓存
mod_cache
可缓存静态资源,提高加载速度。
4. 优化KeepAlive
在httpd.conf
中调整:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
六、安全加固
1. 隐藏Apache版本信息
修改httpd.conf
:
ServerTokens Prod
ServerSignature Off
2. 启用防火墙与安全组
只开放必要端口,避免暴露管理接口。
3. 配置HTTPS
安装SSL证书后启用mod_ssl
,强制跳转HTTPS:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
4. 权限控制
网站目录应属 apache:apache
用户组,并限制写入权限,避免上传漏洞被利用。
七、常见问题解答
Q1:Apache安装后无法访问网页怎么办?
A1:首先确认服务已启动(systemctl status httpd
),其次检查防火墙与安全组规则是否放行80端口。
Q2:多个虚拟主机配置后,始终加载同一个站点?
A2:需确认ServerName
是否正确解析到对应IP,并在配置文件中避免遗漏VirtualHost
标签。
Q3:如何让Apache支持PHP?
A3:安装PHP模块,例如yum install -y php php-mysqlnd
,然后重启Apache。默认情况下即可解析.php
文件。
Q4:Apache与Nginx相比有什么区别?
A4:Apache模块丰富,配置灵活,适合动态内容和复杂场景;Nginx在高并发与反向代理场景下更高效。许多生产环境会将两者结合使用。
Q5:如何检查Apache占用的端口?
A5:使用netstat -tulnp | grep httpd
或 ss -tulnp | grep httpd
即可查看。
Apache作为老牌Web服务器,在CentOS系统上安装与配置十分便捷。通过虚拟主机管理多站点、启用常用模块扩展功能、进行性能优化与安全加固,可以构建一个稳定、可靠的Web服务环境。在实际运维中,应定期检查服务运行状态与日志,确保问题及时发现。合理配置虚拟主机,避免资源冲突。根据业务需求选择MPM模型,优化并发处理能力。强化安全措施,避免信息泄露与攻击风险。通过以上实践,用户能够在CentOS系统上快速搭建并维护高质量的Apache服务器,为网站和应用提供坚实的运行平台。