Linux 环境下 Apache HTTP Server (httpd) 的安装、配置与基础使用指南
1. 引言在 Linux 服务器上搭建 Web 服务是开发者和运维人员的必备技能之一。Apache HTTP Server通常简称为 httpd作为一款历史悠久、功能强大且稳定的开源 Web 服务器软件是构建网站和应用服务的首选。本文将基于 CentOS/RHEL 及其衍生系统如 Rocky Linux、AlmaLinux详细介绍如何从零开始安装、配置 Apache并完成本地回环地址127.0.0.1/localhost的访问测试最后部署一个简单的前端页面。检查系统是否已安装 httpd。使用 yum 包管理器安装 Apache。启动、停止、重启服务以及查看服务状态。理解并修改核心配置文件/etc/httpd/conf/httpd.conf。通过 rz 命令上传文件到 Web 根目录。在本地浏览器访问搭建的网站。2. 环境准备与安装2.1 检查是否已安装 httpd在开始安装之前建议先检查系统中是否已经存在 Apache 服务。打开终端执行以下命令which httpd如果命令返回了类似/usr/sbin/httpd的路径或列出了相关的软件包名则说明 httpd 已经安装。如果没有任何输出则表示系统尚未安装 Apache。2.2 使用 yum 安装 httpd在 CentOS/RHEL 系列系统中推荐使用yum或新系统的dnf包管理器进行安装。执行以下命令sudo yum -y install httpd命令解析sudo以管理员权限执行。yum -y install使用 yum 安装指定软件包-y参数表示自动确认所有提示httpdApache HTTP Server 的软件包名称。安装过程会自动解决依赖关系并下载安装所需的文件。安装完成后可以通过以下命令验证安装版本httpd -v3. 服务管理与状态查看3.1 启动 Apache 服务安装完成后需要启动 httpd 服务才能对外提供 Web 服务。使用 systemctl 命令启动服务sudo systemctl start httpd3.2 设置开机自启为了确保服务器重启后 Apache 能自动运行建议启用开机自启sudo systemctl enable httpd3.3 查看服务状态启动服务后务必检查其运行状态这是排查问题的重要步骤sudo systemctl status httpd如果服务正常运行你将看到类似 “active (running)” 的绿色提示。如果状态异常如 failed可以查看更详细的日志sudo journalctl -u httpd -f3.4 其他常用服务管理命令停止服务sudo systemctl stop httpd重启服务sudo systemctl restart httpd常用于应用配置更改后重新加载配置sudo systemctl reload httpd不中断现有连接仅重载配置文件4. 核心配置文件详解4.1 配置文件位置Apache 的主配置文件位于/etc/httpd/conf/httpd.conf你可以使用任何文本编辑器如 vim, nano来查看和修改它sudo vim /etc/httpd/conf/httpd.conf4.2 关键配置项说明打开配置文件后你会看到许多配置指令。以下是几个最常用且可能需要修改的项Listen指定 Apache 监听的端口号。默认是Listen 80即监听所有网络接口的 80 端口HTTP。如果你想更改端口例如改为 8080可以修改为Listen 8080。ServerName设置服务器的主机名和端口。对于本地测试可以设置为ServerName localhost:80。DocumentRoot定义网站文件的根目录。默认是/var/www/html。你上传的所有网页文件都应放在这个目录或其子目录下。Directory指令块用于对特定目录如/var/www/html设置访问权限。确保其中包含Require all granted以允许访问。注意修改配置文件后必须重启或重新加载 httpd 服务才能使更改生效。reboot5. 部署网站内容5.1 进入 Web 根目录Apache 默认的网站根目录是/var/www/html。首先切换到这个目录cd /var/www/html你可以使用ls -la命令查看目录下已有的文件通常有一个默认的测试页面index.html。5.2 上传文件 (rz 命令)如果你在本地开发了前端页面如 HTML、CSS、JavaScript 文件需要将它们上传到服务器。在支持 Zmodem 协议的终端如 Xshell, SecureCRT中可以使用rz命令。确保已安装 lrzsz 工具sudo yum -y install lrzsz在/var/www/html目录下执行rz此时会弹出文件选择对话框选择你要上传的本地文件即可。如果无法使用rz也可以使用 SCP 或 SFTP 等工具进行文件传输。5.3 设置文件权限确保上传的文件对 Apache 进程通常运行在apache或www-data用户下是可读的。通常将文件所有者设为apache用户并给予适当权限sudo chown -R apache:apache /var/www/html sudo chmod -R 755 /var/www/html6. 本地测试与访问6.1 理解本地回环地址127.0.0.1是一个特殊的 IPv4 地址称为“回环地址”或“本地主机”。它指向你正在操作的机器本身不经过物理网络接口。localhost是一个主机名在大多数系统的 hosts 文件/etc/hosts中默认被解析为 127.0.0.1。因此127.0.0.1和localhost在本地网络环境中是等价的。6.2 在服务器本地测试在服务器终端中可以使用curl命令测试 Apache 是否正常工作curl http://localhost或者curl http://127.0.0.1如果返回了你部署的 HTML 页面内容说明服务运行正常。6.3 在本地浏览器访问如果你的服务器有图形界面可以直接打开浏览器访问http://localhost或http://127.0.0.1。如果服务器是远程的无图形界面你需要在你自己的电脑上打开浏览器输入服务器的公网 IP 地址进行访问。前提是服务器的防火墙已放行 80 端口或你自定义的端口。7. 防火墙配置默认永久关闭如果无法从外部访问很可能是防火墙阻止了 HTTP 端口。在 CentOS/RHEL 7 上默认的防火墙工具是 firewalld。停止防火墙systemctl stop firewalld禁止防火墙开机启动systemctl disable firewalld永久开放 80 端口sudo firewall-cmd --permanent --add-servicehttp永久开放 443 端口 (HTTPS)sudo firewall-cmd --permanent --add-servicehttps重新加载防火墙规则sudo firewall-cmd --reload查看已开放的服务sudo firewall-cmd --list-services8. 总结与故障排查至此你已经成功在 Linux 上搭建了一个基础的 Apache Web 服务器。整个过程可以概括为检查 → 安装 → 启动 → 配置 → 部署 → 测试。常见问题排查思路服务启动失败检查配置文件语法sudo apachectl configtest查看错误日志sudo tail -f /var/log/httpd/error_log。无法访问页面确认服务状态是否为 “active (running)”检查防火墙设置确认DocumentRoot目录下存在有效的索引文件如 index.html。权限拒绝 (403 Forbidden)检查/var/www/html目录及其内部文件的权限和 SELinux 上下文。

相关新闻

GitLab 安装指南

GitLab 安装指南

目录一、概述二、 安装方式三、系统要求四、 具体安装步骤1. Ubuntu 系统安装(原生包方式)1.1 安装依赖包1.2 添加 GitLab 官方仓库1.3 安装 GitLab1.4 配置防火墙(如启用)2. Docker 安装方式2.1 创建 docker-compose.yml 文件2.2…

2026/7/22 18:01:12阅读更多 →
南加州大学与耶鲁大学联手,让大语言模型压缩技术迈出关键一步

南加州大学与耶鲁大学联手,让大语言模型压缩技术迈出关键一步

这项由南加州大学与耶鲁大学联合完成的研究发表于2026年的COLM(Conference on Language Modeling)学术会议,论文编号为arXiv:2607.07964,有兴趣深入了解的读者可以通过该编号查询完整论文。**一、为什么要给AI"减肥"&am…

2026/7/22 17:59:12阅读更多 →
macOS键盘定制终极指南:用Karabiner-Elements解锁无限潜能

macOS键盘定制终极指南:用Karabiner-Elements解锁无限潜能

macOS键盘定制终极指南:用Karabiner-Elements解锁无限潜能 【免费下载链接】Karabiner-Elements Karabiner-Elements is a powerful tool for customizing keyboards on macOS 项目地址: https://gitcode.com/gh_mirrors/ka/Karabiner-Elements 你是否经常感…

2026/7/22 17:59:12阅读更多 →
UnityExplorer C控制台使用技巧:10个提升调试效率的实用命令

UnityExplorer C控制台使用技巧:10个提升调试效率的实用命令

UnityExplorer C#控制台使用技巧:10个提升调试效率的实用命令 【免费下载链接】UnityExplorer An in-game UI for exploring, debugging and modifying IL2CPP and Mono Unity games. 项目地址: https://gitcode.com/gh_mirrors/uni/UnityExplorer UnityExpl…

2026/7/22 18:55:22阅读更多 →
roslyn-linq-rewrite与Shaman.FastLinq强强联合:打造零分配LINQ体验

roslyn-linq-rewrite与Shaman.FastLinq强强联合:打造零分配LINQ体验

roslyn-linq-rewrite与Shaman.FastLinq强强联合:打造零分配LINQ体验 【免费下载链接】roslyn-linq-rewrite Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code, minimizing allocations and dynamic dispatch…

2026/7/22 18:55:22阅读更多 →
DLRS社区贡献指南:如何参与开源项目并提升你的Salesforce技能

DLRS社区贡献指南:如何参与开源项目并提升你的Salesforce技能

DLRS社区贡献指南:如何参与开源项目并提升你的Salesforce技能 【免费下载链接】declarative-lookup-rollup-summaries Declarative Lookup Rollup Summaries (DLRS) is a community built and maintained Salesforce application that allows you to create cross o…

2026/7/22 18:55:22阅读更多 →
【Python课程设计/毕业设计】基于 Python 的轻量化新闻采集聚合运维服务系统【附源码、数据库、万字文档】

【Python课程设计/毕业设计】基于 Python 的轻量化新闻采集聚合运维服务系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/22 18:55:22阅读更多 →
Jellium Desktop命令行参数备份:保存你的启动配置

Jellium Desktop命令行参数备份:保存你的启动配置

Jellium Desktop命令行参数备份:保存你的启动配置 【免费下载链接】jellium-desktop An unofficial desktop client for Jellyfin 项目地址: https://gitcode.com/GitHub_Trending/je/jellium-desktop Jellium Desktop是一款非官方的Jellyfin桌面客户端&…

2026/7/22 18:55:22阅读更多 →
从原理到实践:roslyn-linq-rewrite如何消除LINQ动态调度的性能瓶颈

从原理到实践:roslyn-linq-rewrite如何消除LINQ动态调度的性能瓶颈

从原理到实践:roslyn-linq-rewrite如何消除LINQ动态调度的性能瓶颈 【免费下载链接】roslyn-linq-rewrite Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code, minimizing allocations and dynamic dispatch.…

2026/7/22 18:53:22阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 0:53:59阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 0:53:59阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →