在CentOS系统中配置apache服务器是一项基础但重要的任务,尤其对于网站开发者和系统管理员来说,本文将详细介绍如何在CentOS上安装、配置和管理Apache服务器,包括多域名和多端口映射的配置。
一、Apache服务器简介
Apache HTTP服务器是由Apache软件基金会开发和维护的一个开源Web服务器,它具有跨平台支持、模块化架构、丰富的扩展功能和高稳定性等特点,Apache支持多种协议,如HTTP、HTTPS、FTP等,广泛应用于各种Web服务环境中。

二、安装Apache服务器
1、检查是否已安装Apache:
- rpm qa | grep httpd
如果未安装,继续下一步。
2、使用YUM安装Apache:
- yum install httpd y
3、启动并设置开机自启:
- systemctl start httpd
- systemctl enable httpd
4、检查Apache状态:
- systemctl status httpd
三、配置Apache服务器
1、主配置文件位置:

/etc/httpd/conf/httpd.conf
:主配置文件。
/etc/httpd/conf.d/
:额外配置文件目录。
/var/www/html
:默认的网站根目录。
2、基本配置:
编辑主配置文件:
- vi /etc/httpd/conf/httpd.conf
修改或添加以下配置项:

- Listen 80 # 监听端口
- DocumentRoot "/var/www/html" # 网站根目录
- DirectoryIndex index.html # 默认首页文件
- <Directory "/var/www/html">
- AllowOverride None
- Require all granted
- </Directory>
3、配置虚拟主机:
基于名字的虚拟主机配置:
- NameVirtualHost *:80
- <VirtualHost *:80>
- DocumentRoot "/var/www/site1"
- ServerName site1.example.com
- </VirtualHost>
- <VirtualHost *:80>
- DocumentRoot "/var/www/site2"
- ServerName site2.example.com
- </VirtualHost>
基于IP的虚拟主机配置:
- <VirtualHost *:80>
- DocumentRoot "/var/www/site1"
- ServerName 192.168.1.100
- </VirtualHost>
- <VirtualHost *:80>
- DocumentRoot "/var/www/site2"
- ServerName 192.168.1.101
- </VirtualHost>
4、防火墙配置:
- firewallcmd permanent addservice=http
- firewallcmd reload
5、重启Apache服务:
- systemctl restart httpd
四、部署网页
1、创建HTML文件:
- vi /var/www/html/index.html
内容示例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Welcome to My Apache Server</title>
- </head>
- <body>
- <h1>Success! The Apache HTTP Server is working on CentOS.</h1>
- </body>
- </html>
2、更改文件权限:
- chown R apache:apache /var/www/html
3、访问网页:
打开浏览器,输入服务器的IP地址或域名,查看是否显示刚刚创建的网页内容。
五、常见问题与解答(FAQs)
问题1:在CentOS中,本机可以访问Apache部署的网页,但其他同网段主机无法访问,可能的原因是什么?
答案:可能有以下几个原因:
防火墙设置:检查系统防火墙是否允许HTTP服务通过,可以使用以下命令允许HTTP服务永久通过防火墙:
- firewallcmd permanent addservice=http
- firewallcmd reload
网络配置:确保网络配置正确,尤其是路由和子网掩码设置。
SELinux设置:如果启用了SELinux,可能需要配置策略以允许HTTP流量。
Apache配置:检查Apache配置文件中的绑定地址,确保其设置为监听所有接口(Listen 80
)。
问题2:如何更改Apache服务器的默认端口?
答案:可以通过修改Apache的主配置文件/etc/httpd/conf/httpd.conf
来更改默认端口,找到以下行:
- Listen 80
将其更改为所需的端口号,例如8080:
- Listen 8080
然后保存文件并重启Apache服务:
- systemctl restart httpd
确保防火墙也允许新端口的流量通过。