温馨提示×

centos下apache怎样配置

小樊
34
2026-09-15 01:42:56
栏目: 智能运维

下面按常见使用场景,给你一份 CentOS 下 Apache(httpd)配置指南,从安装到常见配置,适合新手和生产环境参考。


一、安装 Apache(httpd)

CentOS 7

yum install httpd -y
systemctl start httpd
systemctl enable httpd

CentOS 8 / Stream

dnf install httpd -y
systemctl start httpd
systemctl enable httpd

验证:

systemctl status httpd

二、防火墙放行(必须)

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

三、目录结构说明

路径 作用
/etc/httpd/ 主配置目录
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/ 子配置文件(推荐放站点配置)
/var/www/html/ 默认网站根目录

四、基本站点配置(单站点)

1. 修改主配置文件

vi /etc/httpd/conf/httpd.conf

常见参数:

ServerName www.example.com
DocumentRoot "/var/www/html"

2. 创建测试页面

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

重启:

systemctl restart httpd

五、虚拟主机(多站点,推荐)

示例:配置两个站点

vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
    ServerName www.a.com
    DocumentRoot /var/www/a
    <Directory /var/www/a>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.b.com
    DocumentRoot /var/www/b
    <Directory /var/www/b>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

创建目录:

mkdir -p /var/www/a /var/www/b
echo "A Site" > /var/www/a/index.html
echo "B Site" > /var/www/b/index.html

重启:

systemctl restart httpd

六、开启 URL 重写(伪静态)

vi /etc/httpd/conf.modules.d/00-base.conf

确保:

LoadModule rewrite_module modules/mod_rewrite.so

.htaccess 示例:

RewriteEngine On
RewriteRule ^test$ index.php [L]

七、配置 HTTPS(SSL)

1. 安装模块

yum install mod_ssl openssl -y

2. 配置 SSL

vi /etc/httpd/conf.d/ssl.conf
<VirtualHost *:443>
    ServerName www.example.com
    DocumentRoot /var/www/html
    SSLEngine on
    SSLCertificateFile /path/cert.pem
    SSLCertificateKeyFile /path/privkey.pem
    SSLCertificateChainFile /path/chain.pem
</VirtualHost>

重启:

systemctl restart httpd

八、常用排错命令

# 查看错误日志
tail -f /var/log/httpd/error_log

# 检查配置语法
httpd -t

# 查看端口
ss -lntp | grep httpd

九、常见权限问题

chown -R apache:apache /var/www
chmod -R 755 /var/www

如果是 SELinux 开启

setsebool -P httpd_can_network_connect 1
restorecon -Rv /var/www

十、总结(最常用)

✅ 安装
✅ 防火墙
✅ conf.d 配置虚拟主机
✅ 日志排查
✅ HTTPS


如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否用 PHP / Python / 反向代理
  • 是否 公网 + 域名

我可以直接给你一套可用配置文件

0