CentOS 下安装和配置 HTTPD 服务的详细指南

CentOS 下安装和配置 HTTPD 服务的详细指南

  • [CentOS 下安装和配置 HTTPD 服务的详细指南](#CentOS 下安装和配置 HTTPD 服务的详细指南)
    • [1. 环境准备](#1. 环境准备)
    • [2. 安装 HTTPD 服务](#2. 安装 HTTPD 服务)
      • [2.1 更新系统](#2.1 更新系统)
      • [2.2 安装 HTTPD](#2.2 安装 HTTPD)
      • [2.3 启动 HTTPD 服务](#2.3 启动 HTTPD 服务)
      • [2.4 检查 HTTPD 服务状态](#2.4 检查 HTTPD 服务状态)
    • [3. 配置防火墙](#3. 配置防火墙)
      • [3.1 开放 HTTP 和 HTTPS 端口](#3.1 开放 HTTP 和 HTTPS 端口)
      • [3.2 验证防火墙规则](#3.2 验证防火墙规则)
    • [4. 配置 HTTPD](#4. 配置 HTTPD)
      • [4.1 主配置文件](#4.1 主配置文件)
      • [4.2 配置虚拟主机](#4.2 配置虚拟主机)
      • [4.3 创建网站目录](#4.3 创建网站目录)
      • [4.4 重启 HTTPD 服务](#4.4 重启 HTTPD 服务)
    • [5. 测试 Web 服务器](#5. 测试 Web 服务器)
    • [6. 管理 HTTPD 服务](#6. 管理 HTTPD 服务)
      • [6.1 启动、停止和重启 HTTPD](#6.1 启动、停止和重启 HTTPD)
      • [6.2 查看 HTTPD 日志](#6.2 查看 HTTPD 日志)
    • [7. 结语](#7. 结语)

CentOS 下安装和配置 HTTPD 服务的详细指南

Apache HTTP Server(通常称为 HTTPD 或 Apache)是一个广泛使用的开源 Web 服务器软件。在 CentOS 系统中,HTTPD 是搭建 Web 服务的首选工具之一。本文将详细介绍如何在 CentOS 系统上安装、配置和管理 HTTPD 服务。

1. 环境准备

在开始之前,请确保你已经具备以下条件:

  • 一台运行 CentOS 7 或 CentOS 8 的服务器。
  • 具有 root 权限或可以使用 sudo 命令的用户。

2. 安装 HTTPD 服务

2.1 更新系统

在安装任何软件之前,建议先更新系统以确保所有软件包都是最新的。

bash 复制代码
sudo yum update -y

2.2 安装 HTTPD

使用 yum 包管理器安装 HTTPD:

bash 复制代码
sudo yum install httpd -y

2.3 启动 HTTPD 服务

安装完成后,启动 HTTPD 服务并设置为开机自启:

bash 复制代码
sudo systemctl start httpd
sudo systemctl enable httpd

2.4 检查 HTTPD 服务状态

使用以下命令检查 HTTPD 服务的运行状态:

bash 复制代码
sudo systemctl status httpd

如果服务正常运行,你应该会看到类似以下的输出:

复制代码
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since ...

3. 配置防火墙

为了让外部用户能够访问你的 Web 服务器,你需要在防火墙中开放 HTTP(80 端口)和 HTTPS(443 端口)服务。

3.1 开放 HTTP 和 HTTPS 端口

bash 复制代码
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

3.2 验证防火墙规则

你可以使用以下命令查看当前开放的端口:

bash 复制代码
sudo firewall-cmd --list-all

确保 httphttps 服务在输出列表中。

4. 配置 HTTPD

4.1 主配置文件

HTTPD 的主配置文件位于 /etc/httpd/conf/httpd.conf。你可以使用文本编辑器(如 vinano)来编辑此文件。

bash 复制代码
sudo vi /etc/httpd/conf/httpd.conf

4.2 配置虚拟主机

如果你需要配置多个网站,可以使用虚拟主机。在 /etc/httpd/conf.d/ 目录下创建一个新的配置文件,例如 example.com.conf

bash 复制代码
sudo vi /etc/httpd/conf.d/example.com.conf

添加以下内容:

apache 复制代码
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/www/example.com"
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog "/var/log/httpd/example.com-error_log"
    CustomLog "/var/log/httpd/example.com-access_log" common
</VirtualHost>

4.3 创建网站目录

根据上面的配置,创建网站根目录并设置适当的权限:

bash 复制代码
sudo mkdir -p /var/www/example.com
sudo chown -R apache:apache /var/www/example.com
sudo chmod -R 755 /var/www/example.com

4.4 重启 HTTPD 服务

在修改配置文件后,重启 HTTPD 服务以使更改生效:

bash 复制代码
sudo systemctl restart httpd

5. 测试 Web 服务器

在浏览器中输入你的服务器 IP 地址或域名,例如 http://your_server_ip,你应该能够看到 Apache 的默认欢迎页面。

如果你配置了虚拟主机,确保 DNS 记录已正确指向你的服务器 IP 地址,并在浏览器中访问 http://example.com

6. 管理 HTTPD 服务

6.1 启动、停止和重启 HTTPD

  • 启动 HTTPD 服务:

    bash 复制代码
    sudo systemctl start httpd
  • 停止 HTTPD 服务:

    bash 复制代码
    sudo systemctl stop httpd
  • 重启 HTTPD 服务:

    bash 复制代码
    sudo systemctl restart httpd

6.2 查看 HTTPD 日志

HTTPD 的日志文件位于 /var/log/httpd/ 目录下。你可以使用 tail 命令实时查看日志:

bash 复制代码
sudo tail -f /var/log/httpd/access_log
sudo tail -f /var/log/httpd/error_log

7. 结语

通过以上步骤,我们已经成功在 CentOS 系统上安装并配置了 HTTPD 服务。HTTPD 是一个功能强大且灵活的 Web 服务器,适用于各种规模的 Web 应用。

相关推荐
陈苏同学1 小时前
在 Linux 服务器上无需 sudo 权限解压/打包 .7z 的方法(实用命令)
linux·运维·服务器
我不是帅戈1 小时前
QT入门学习(二)---继承关系、访问控制和变量定义
linux·qt·ui
love530love2 小时前
【笔记】2025 年 Windows 系统下 abu 量化交易库部署与适配指南
大数据·运维·人工智能·windows·笔记·python·conda
奉系坤阀2 小时前
Ubuntu终端性能监视工具
linux·运维·服务器·python·ubuntu
alive9032 小时前
FFmpeg移植教程(linux平台)
linux·ubuntu·ffmpeg·ffmpeg移植
Tom Boom3 小时前
40. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(类写法)
运维·自动化测试·python·selenium·自动化·自动化测试框架·异步编程
一张假钞3 小时前
Linux 系统 Docker Compose 安装
linux·运维·docker
国际云,接待3 小时前
阿里云国际站,如何通过代理商邀请的链接注册账号
运维·服务器·科技·阿里云·云计算
swbook4 小时前
CentOS8.3+Kubernetes1.32.5+Docker28.2.2高可用集群二进制部署
linux·运维·kubernetes
Rocky4015 小时前
javaEE->多线程:线程池
java·运维·服务器·线程池·多线程·定时器