CentOS 是一个广泛使用的 Linux 发行版,其稳定性和灵活性使其成为服务器环境的首选之一,在 CentOS 上安装 HTTPD(即 apache HTTP Server)是配置 Web 服务器的重要步骤之一,HTTPD 是一个功能强大、灵活且可扩展的 Web 服务器,适用于从小型个人网站到大型企业级应用的各种场景。
CentOS 7 安装 HTTPD
1、准备工作

确保系统已更新:
- sudo yum update y
检查是否已经安装了 HTTPD:
- rpm qa | grep httpd
2、安装 HTTPD
使用 YUM 安装 HTTPD:
- sudo yum install y httpd
启动并设置开机自启:
- sudo systemctl start httpd
- sudo systemctl enable httpd
3、验证安装

查看 Httpd 服务状态:
- sudo systemctl status httpd
在浏览器中访问服务器 IP 地址或域名,应看到 Apache 的默认欢迎页面。
4、基本配置
编辑主配置文件:
- sudo vi /etc/httpd/conf/httpd.conf
修改DocumentRoot
和DirectoryIndex
:
- DocumentRoot "/var/www/html"
- DirectoryIndex index.html index.htm
5、防火墙配置

开放 HTTP 服务端口:
- sudo firewallcmd permanent addservice=http
- sudo firewallcmd reload
6、SELinux 配置
SELinux 启用,允许 HTTPD 访问 Web 内容目录:
- sudo setsebool P httpd_can_network_connect 1
- sudo setsebool P httpd_can_network_connect_db 1
- sudo setsebool P httpd_read_user_content 1
CentOS 8 安装 HTTPD
1、准备工作
确保系统已更新:
- sudo dnf update y
检查是否已经安装了 HTTPD:
- rpm qa | grep httpd
2、安装 HTTPD
使用 DNF 安装 HTTPD:
- sudo dnf install y httpd
启动并设置开机自启:
- sudo systemctl start httpd
- sudo systemctl enable httpd
3、验证安装
查看 HTTPD 服务状态:
- sudo systemctl status httpd
在浏览器中访问服务器 IP 地址或域名,应看到 Apache 的默认欢迎页面。
4、基本配置
编辑主配置文件:
- sudo vi /etc/httpd/conf/httpd.conf
修改DocumentRoot
和DirectoryIndex
:
- DocumentRoot "/var/www/html"
- DirectoryIndex index.html index.htm
5、防火墙配置
开放 HTTP 服务端口:
- sudo firewallcmd permanent addservice=http
- sudo firewallcmd reload
6、SELinux 配置
SELinux 启用,允许 HTTPD 访问 Web 内容目录:
- sudo setsebool P httpd_can_network_connect 1
- sudo setsebool P httpd_can_network_connect_db 1
- sudo setsebool P httpd_read_user_content 1
HTTPD 常用配置与优化
1、虚拟主机配置
编辑配置文件:
- sudo vi /etc/httpd/conf/httpd.conf
添加虚拟主机配置:
- <VirtualHost *:80>
- DocumentRoot "/var/www/html/mywebsite"
- ServerName www.mywebsite.com
- <Directory "/var/www/html/mywebsite">
- Require all granted
- </Directory>
- </VirtualHost>
2、SSL 配置
生成 SSL 证书:
- sudo yum install y mod_ssl
- sudo vim /etc/httpd/conf.d/ssl.conf
配置 SSL:
- SSLEngine on
- SSLCertificateFile /etc/pki/tls/certs/server.crt
- SSLCertificateKeyFile /etc/pki/tls/private/server.key
启动 SSL:
- sudo systemctl restart httpd
3、性能优化
启用缓存:
- sudo vi /etc/httpd/conf/httpd.conf
添加缓存模块:
- LoadModule cache_module modules/mod_cache.so
- CacheEnable disk /
- CacheRoot "/var/cache/httpd"
- CacheDirLevels 2
- CacheDirPermission 755
调整工作进程数:
- sudo vi /etc/sysconfig/httpd
设置HTTPD_WORKER_PROCESSES
和HTTPD_WORKER_THREADS
。
常见问题解答(FAQs)
Q1:如何更改 HTTPD 默认监听的端口?
A1:编辑主配置文件/etc/httpd/conf/httpd.conf
,找到以下行:
- Listen 80
将其改为所需的端口号,
- Listen 8080
然后重启 HTTPD 服务:
- sudo systemctl restart httpd
Q2:如何配置 HTTPD 以允许目录浏览?
A2:编辑主配置文件/etc/httpd/conf/httpd.conf
,找到<Directory "/var/www/html">
部分,确保包含以下选项:
- Options Indexes FollowSymLinks
- AllowOverride None
- Require all granted
然后重启 HTTPD 服务:
- sudo systemctl restart httpd