温馨提示×

CentOS如何设置Apache

小樊
52
2026-07-08 17:30:31
栏目: 智能运维

CentOS 上设置 Apache(httpd) 通常包括安装、启动、开机自启、配置防火墙以及基本站点配置。下面按 CentOS 7 / 8 / Stream 常见情况一步步说明。


一、安装 Apache

1️⃣ 更新系统(可选但推荐)

sudo yum update -y

2️⃣ 安装 Apache

sudo yum install httpd -y

CentOS 8 / Stream 也可用:

sudo dnf install httpd -y

二、启动并设置开机自启

sudo systemctl start httpd
sudo systemctl enable httpd

查看状态

systemctl status httpd

看到 active (running) 表示成功。


三、配置防火墙(非常重要)

1️⃣ 开放 HTTP / HTTPS 端口

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

2️⃣ 验证防火墙规则

sudo firewall-cmd --list-all

四、测试 Apache 是否运行

在浏览器访问:

http://服务器IP

看到 Apache Test PageTesting 123… 说明成功。


五、Apache 目录结构说明

目录/文件 说明
/var/www/html 默认网站根目录
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/ 额外配置文件
/var/log/httpd/ 日志目录

六、修改默认网站(示例)

1️⃣ 创建测试页面

echo "Hello CentOS Apache" > /var/www/html/index.html

刷新浏览器即可看到内容。


七、配置虚拟主机(推荐)

1️⃣ 创建站点目录

sudo mkdir -p /var/www/example.com
sudo echo "Welcome example.com" > /var/www/example.com/index.html

2️⃣ 创建虚拟主机配置

sudo vi /etc/httpd/conf.d/example.conf

内容示例:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com

    <Directory /var/www/example.com>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

3️⃣ 重启 Apache

sudo systemctl restart httpd

八、常见问题排查

❌ 无法访问

  • 检查防火墙:firewall-cmd --list-all
  • 检查 SELinux:
getenforce

临时关闭测试:

sudo setenforce 0

❌ 端口被占用

sudo netstat -tulnp | grep 80

九、CentOS 8 / Stream 注意点

  • 默认使用 dnf 而不是 yum
  • 如果安装失败,确认仓库是否启用:
sudo dnf config-manager --set-enabled powertools

如果你需要: ✅ LAMP(Apache + MySQL + PHP)
HTTPS(Let’s Encrypt)
多站点配置
SELinux 正确配置

可以直接告诉我你的 CentOS 版本使用场景,我可以给你更精确的步骤。

0