温馨提示×

怎样在centos管apache

小樊
35
2026-10-26 11:39:59
栏目: 智能运维

在 CentOS 上管理 Apache(通常叫 httpd 服务),主要涉及安装、启动、停止、开机自启、配置、防火墙等。下面按常见场景给你一份实用指南(以 CentOS 7/8 为例,CentOS 6 略有不同)。


一、安装 Apache

CentOS 7 / 8

sudo yum install httpd -y

(CentOS 8 也可用 dnf)

sudo dnf install httpd -y

二、基本服务管理(systemd)

启动 Apache

sudo systemctl start httpd

停止 Apache

sudo systemctl stop httpd

重启 Apache

sudo systemctl restart httpd

重新加载配置(不中断服务)

sudo systemctl reload httpd

查看运行状态

sudo systemctl status httpd

设置开机自启

sudo systemctl enable httpd

关闭开机自启

sudo systemctl disable httpd

三、防火墙设置(很重要)

如果外部访问不了,通常是防火墙问题。

开放 80 端口(HTTP)

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

开放 443 端口(HTTPS)

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

查看已开放服务

sudo firewall-cmd --list-all

四、Apache 目录结构(CentOS)

作用 路径
主配置文件 /etc/httpd/conf/httpd.conf
额外配置 /etc/httpd/conf.d/
网站根目录 /var/www/html
日志目录 /var/log/httpd

修改配置后

sudo apachectl configtest   # 检查语法
sudo systemctl reload httpd

五、部署一个简单的网站

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

浏览器访问:

http://服务器IP

六、虚拟主机(多网站)

示例 /etc/httpd/conf.d/example.conf:

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

创建目录:

sudo mkdir -p /var/www/example

重启:

sudo systemctl restart httpd

七、常见问题排查

1. 无法访问

  • 防火墙是否开放
  • Apache 是否运行
  • SELinux 是否阻止(见下)

2. SELinux 问题

查看:

getenforce

允许 httpd 访问目录:

sudo setsebool -P httpd_read_user_content 1

或临时关闭(不推荐):

sudo setenforce 0

3. 查看错误日志

sudo tail -f /var/log/httpd/error_log

八、CentOS 6(老系统,仅供参考)

service httpd start
chkconfig httpd on

如果你有具体需求(比如:

  • 配置 HTTPS
  • 配置 PHP
  • 做反向代理
  • 多域名
  • 性能优化)

可以直接告诉我,我可以给你更针对性的配置示例。

0 踩