凌峰创科服务平台

CentOS 6.5如何搭建HTTP服务器?

本指南将详细讲解如何使用最经典的 Apache HTTP Server 来完成这个任务。

CentOS 6.5如何搭建HTTP服务器?-图1
(图片来源网络,侵删)

核心要点:

  1. 软件选择:CentOS 6.5 的软件仓库中,默认的 HTTP 服务器是 Apache 2.2,我们将使用它。
  2. 安全警告强烈建议不要将此配置暴露在公网上,CentOS 6.5 存在大量已知的安全漏洞,没有安全更新,极易被攻击,请在隔离的网络环境中进行操作。
  3. 软件仓库:我们将使用默认的 yum 仓库,如果需要更新的软件,可以配置第三方仓库(如 EPEL),但这会增加复杂性。

第一步:准备工作

在开始之前,请确保你的系统已经更新到最新的状态(尽管可能没有安全补丁)。

# 以 root 用户或使用 sudo 执行
yum update -y

第二步:安装 Apache HTTP Server

使用 yum 包管理器来安装 Apache,它的主程序包名通常是 httpd

# 安装 httpd 及其依赖
yum install -y httpd

安装过程会自动下载并配置好 Apache 的核心文件。

第三步:启动并设置开机自启

安装完成后,需要手动启动 Apache 服务,并设置它在系统重启后自动运行。

CentOS 6.5如何搭建HTTP服务器?-图2
(图片来源网络,侵删)
# 启动 Apache 服务
service httpd start
# 设置 Apache 开机自启
chkconfig httpd on

如何检查服务状态?

你可以使用以下命令来确认 Apache 是否正在运行:

# 查看服务状态
service httpd status
# 或者检查监听端口
netstat -tuln | grep :80
# 或者使用更现代的 ss 命令
ss -tuln | grep :80

如果看到 LISTEN80 端口,说明服务器已经成功启动。

第四步:配置防火墙

CentOS 6.5 默认使用 iptables 作为防火墙,为了能让外部网络访问你的网页,需要开放 80 (HTTP) 和 443 (HTTPS) 端口。

CentOS 6.5如何搭建HTTP服务器?-图3
(图片来源网络,侵删)
# 开放 80 端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# 如果你以后会用到 HTTPS,也开放 443 端口
# iptables -I INPUT -p tcp --dport 443 -j ACCEPT
# 保存防火墙规则,使其重启后依然有效
service iptables save

如何验证? 你应该可以在同一局域网内的另一台电脑上,使用浏览器访问你的 CentOS 6.5 服务器的 IP 地址,http://192.168.1.100,你应该能看到 Apache 的默认欢迎页面。

第五步:理解 Apache 的目录结构

了解几个关键的目录和文件,对于后续配置至关重要:

  • 主配置文件: /etc/httpd/conf/httpd.conf

    这是 Apache 最核心的配置文件,几乎所有全局设置都在这里。

  • 网站根目录: /var/www/html/
    • 这是存放你网站默认首页文件的地方,当你访问根域名时,Apache 会自动查找这个目录下的 index.htmlindex.php 等文件。
  • 网站配置文件目录: /etc/httpd/conf.d/
    • 这个目录下的所有 .conf 文件都会在主配置文件加载时被自动加载,我们为每个网站(虚拟主机)创建一个独立的配置文件放在这里,以保持主配置文件的整洁。
  • 日志文件目录: /var/log/httpd/
    • access_log: 记录所有用户的访问请求。
    • error_log: 记录服务器运行时产生的错误信息。

第六步:部署你的第一个网页

让我们把默认的欢迎页面换成我们自己的内容。

  1. 备份默认首页(可选)

    mv /var/www/html/index.html /var/www/html/index.html.bak
  2. 创建新的首页 使用你喜欢的文本编辑器(如 vinano)创建一个新的 index.html 文件。

    vi /var/www/html/index.html

    在文件中输入一些简单的 HTML 代码:

    <html>
      <head>
        <title>My First CentOS 6.5 Web Server</title>
      </head>
      <body>
        <h1>Hello, World!</h1>
        <p>This is my web page running on CentOS 6.5 with Apache.</p>
      </body>
    </html>

    保存并退出 (在 vi 中是按 ESC,然后输入 wq 并回车)。

  3. 重新访问 刷新浏览器,你应该就能看到你自定义的页面了。

第七步:高级配置 - 创建虚拟主机

虚拟主机允许你在同一台服务器上托管多个独立的网站,每个网站都有自己的域名和内容。

假设我们要托管两个网站:www.siteA.comwww.siteB.com

  1. 为每个网站创建目录

    # 创建网站 A 的目录
    mkdir -p /var/www/siteA.com
    echo "This is Site A" > /var/www/siteA.com/index.html
    # 创建网站 B 的目录
    mkdir -p /var/www/siteB.com
    echo "This is Site B" > /var/www/siteB.com/index.html
  2. /etc/hosts 文件中添加本地域名解析(仅用于本地测试) 在你的 CentOS 6.5 服务器上编辑 /etc/hosts 文件,添加以下两行:

    vi /etc/hosts
    0.0.1   www.siteA.com
    127.0.0.1   www.siteB.com

    注意:在真实环境中,这需要通过 DNS 服务器来完成。

  3. 创建虚拟主机配置文件/etc/httpd/conf.d/ 目录下创建一个新的配置文件,my_vhosts.conf

    vi /etc/httpd/conf.d/my_vhosts.conf

    输入以下配置内容:

    # 虚拟主机配置开始
    NameVirtualHost *:80
    # 配置 siteA.com
    <VirtualHost *:80>
        ServerAdmin admin@siteA.com
        DocumentRoot /var/www/siteA.com
        ServerName www.siteA.com
        ErrorLog logs/siteA.com_error.log
        CustomLog logs/siteA.com_access.log common
    </VirtualHost>
    # 配置 siteB.com
    <VirtualHost *:80>
        ServerAdmin admin@siteB.com
        DocumentRoot /var/www/siteB.com
        ServerName www.siteB.com
        ErrorLog logs/siteB.com_error.log
        CustomLog logs/siteB.com_access.log common
    </VirtualHost>
    # 虚拟主机配置结束
    • NameVirtualHost *:80:声明基于域名的虚拟主机监听在 80 端口。
    • <VirtualHost>:定义一个虚拟主机块。
    • DocumentRoot:指定该网站的根目录。
    • ServerName:指定该网站绑定的域名。
  4. 重启 Apache 服务 让新的配置生效。

    service httpd restart
  5. 测试 在浏览器中分别访问 http://www.siteA.comhttp://www.siteB.com,你应该能看到各自不同的内容了。

第八步:常见问题排查

如果网站无法访问,请按以下顺序检查:

  1. 检查服务状态: service httpd status,确保服务正在运行。
  2. 检查端口是否监听: netstat -tuln | grep :80,确保 80 端口处于 LISTEN 状态。
  3. 检查防火墙: 确认 iptables 的规则没有阻止 80 端口,可以使用 service iptables status 查看。
  4. 检查 SELinux: 这是 CentOS 6.5 上最常见的问题之一! SELinux 默认会限制 Apache 访问文件系统。
    • 临时关闭(不推荐,但可用于快速测试):
      setenforce 0
    • 永久关闭(同样不推荐): 编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled,然后重启系统。
    • 正确做法(推荐):
分享:
扫描分享到社交APP
上一篇
下一篇