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

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

查看 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.htm5、防火墙配置

开放 HTTP 服务端口:
sudo firewallcmd permanent addservice=http
sudo firewallcmd reload6、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 1CentOS 8 安装 HTTPD
1、准备工作
确保系统已更新:
sudo dnf update y检查是否已经安装了 HTTPD:
rpm qa | grep httpd2、安装 HTTPD
使用 DNF 安装 HTTPD:
sudo dnf install y httpd启动并设置开机自启:
sudo systemctl start httpd
sudo systemctl enable httpd3、验证安装
查看 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.htm5、防火墙配置
开放 HTTP 服务端口:
sudo firewallcmd permanent addservice=http
sudo firewallcmd reload6、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 1HTTPD 常用配置与优化
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 httpd3、性能优化
启用缓存:
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
