centos Apache服务器安装与配置全攻略
一、Apache简介
Apache通常指Apache HTTP Server,是开源、跨平台的Web服务器软件,由Apache软件基金会维护。自1995年发布以来,它长期占据全球Web服务器市场的重要份额,支持模块化扩展,兼容多种操作系统(如Linux、Windows)。
1.1 核心特点
- 开源免费:遵循Apache许可证,允许自由使用和修改。
- 模块化设计:通过加载模块(如SSL、PHP支持)扩展功能。
- 高稳定性:适合处理高并发请求,广泛应用于企业级环境。
- 跨平台:支持UNIX、Linux、Windows等操作系统。
1.2 常见用途
- 托管静态或动态网站(如WordPress)。
- 作为反向代理或负载均衡器。
- 与PHP、Python等后端语言集成。
1.3 配置文件示例
Apache的核心配置文件通常为httpd.conf
或apache2.conf
,路径因系统而异。以下是一个简单的虚拟主机配置片段:
<VirtualHost *:80>ServerAdmin webmaster@example.comDocumentRoot "/var/www/html"ServerName example.comErrorLog "/var/log/apache2/error_log"CustomLog "/var/log/apache2/access_log" common
</VirtualHost>
1.4 相关技术栈
- .htaccess:目录级配置,支持URL重写(需启用
mod_rewrite
)。 - MPM(多处理模块):如
prefork
、worker
,用于优化性能。 - 与Nginx对比:Apache更依赖进程/线程模型,而Nginx采用事件驱动,适合高并发静态内容。
Apache的灵活性和社区支持使其成为Web开发中的经典选择,尤其适合需要深度定化的场景。
二、安装Apache
2.1 更换YUM 源
1、备份现有配置文件:
cp /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup.repo/
2 、使用阿里yum源
wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
3、清除 YUM 缓存
yum clean all
yum makecache
运行以下命令安装Apache:
yum install httpd
安装完成后,启动Apache服务并设置为开机自启:
systemctl start httpd
systemctl enable httpd
2.1 配置防火墙
允许HTTP(80端口)和HTTPS(443端口)流量通过防火墙:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
基本配置
Apache的主配置文件位于/etc/httpd/conf/httpd.conf
,可以根据需求修改以下参数:
ServerAdmin
:设置管理员邮箱。ServerName
:指定服务器域名或IP地址。DocumentRoot
:默认网站文件目录(通常为/var/www/html
)。
修改配置后,重启Apache服务使更改生效:
systemctl restart httpd
2.3 虚拟主机配置
如果需要托管多个网站,可以配置虚拟主机。创建虚拟主机配置文件:
vi /etc/httpd/conf.d/vhost.conf
示例虚拟主机配置内容:
<VirtualHost *:80>ServerName example.comDocumentRoot /var/www/example.comErrorLog /var/log/httpd/example.com-error.logCustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
创建网站目录并设置权限:
mkdir -p /var/www/example.com
chown -R apache:apache /var/www/example.com
chmod -R 755 /var/www/example.com
重启Apache服务:
systemctl restart httpd
三、测试Apache
在浏览器中访问服务器IP或域名,如果看到Apache默认页面,说明安装成功。也可以通过命令行测试:
curl http://localhost
SELinux配置
如果启用了SELinux,可能需要调整权限以允许Apache访问网站目录:
chcon -R -t httpd_sys_content_t /var/www/example.com
如果需要允许Apache写入目录(如上传文件):
chcon -R -t httpd_sys_rw_content_t /var/www/example.com