Apache HTTP Server 安装和配置

测试 Apache HTTP 服务器

我们可以通过将本地系统上的浏览器指向 http://localhost 来确认 Apache 正在运行,如下图所示。
我们还可以将浏览器指向 http://,后跟服务器的 IP 公共地址或者我们在配置文件中指定的 ServerName 指令。

要测试实际内容的显示,请在 DocumentRoot 指令指定的目录(默认目录为 /var/www/html )中创建一个名为 index.html 的 HTML 文件。
Apache 会自动显示此目录中的 index.html 文件(如果存在)。

安装Apache

要将系统配置为 Web 服务器,请先安装 httpd 软件包。

# yum install httpd

使用 systemctl 实用程序使 HTTP 守护程序能够在引导时启动并立即启动该守护程序。

# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
# systemctl start httpd

Apache 容器

Apache 容器是对其他指令进行分组的特殊配置指令。
容器使用 XML 样式的标签,这意味着容器的开头是 <name>,结尾是 </name>。
httpd.apache.org/docs/current/sections.html 提供了所有容器指令的索引。

CentOS/RHEL 7 中的新 apachectl 子命令

CentOS/RHEL 7 中提供了新的 apachectl 子命令。
以下示例使用 configtest 子命令检查配置是否存在可能的错误。

# apachectl configtest

使用优雅子命令重新加载配置而不影响活动请求。

# apachectl graceful

Apache HTTP 服务器

Apache HTTP Server,一种由 Apache 软件基金会开发的开源 Web 服务器。
Apache 服务器用于托管 Web 内容。
它响应来自 Web 浏览器(例如 Internet Explorer 和 Firefox)的内容请求。

注意:该帖子使用 RHEL/CentOS 7 发行版来安装和配置 Apache 服务器。
尽管启动/停止/安装命令可能有所不同,但所有 linux 发行版中的配置步骤都相同

Apache的配置文件

Apache 的主要配置文件是 /etc/httpd/conf/httpd.conf 。
还存在一个辅助目录 /etc/httpd/conf.d 来存储包含在主配置文件中的配置文件。
加载模块的配置文件位于 /etc/httpd/conf.modules.d 目录中。

https://onitroad.com 更多教程

配置 Apache

Apache 的主要配置文件是 /etc/httpd/conf/httpd.conf 。
Apache 以安装方式运行,但我们可以修改此文件中的配置指令以针对环境自定义 Apache。
其中一些指令在下面的帖子中进行了描述。

Apache HTTP 服务器——最常用的配置指令

Apache 虚拟主机

Apache 支持虚拟主机,这意味着单个 Apache 服务器可以响应指向多个 IP 地址或者主机名的请求。
每个虚拟主机都可以提供内容并进行不同的配置。

我们可以通过两种方式配置虚拟主机:

  1. 基于IP的虚拟主机(host-by-IP)
  2. 基于名称的虚拟主机(host-by-name)

host-by-IP

使用 host-by-IP,每个虚拟主机都有自己的 IP 地址和端口组合。
Apache Web 服务器响应主机解析为的 IP 地址。
由于安全套接字层 (SSL) 协议中的限制,需要使用 Host-by-IP 来处理 HTTPS 请求。

host-by-name

使用 host-by-name,所有虚拟主机共享公共 IP 地址。
Apache 通过将请求中的主机名映射到特定虚拟主机的配置文件中的 ServerName 和 ServerAlias 指令来响应请求。

使用 <VirtualHost host-name> 容器实现虚拟主机。
在定义第一个 VirtualHost 之后,Apache 提供的所有内容也必须移动到虚拟主机中。

以下示例是一个简单的基于名称的虚拟主机配置:

<VirtualHost *:80>
      ServerName example1.com
      ServerAlias www.example1.com
      DocumentRoot /var/www/example1
      ErrorLog example1.error_log
</VirtualHost>
<VirtualHost *:80>
      ServerName example2.com
      ServerAlias www.example2.com
      DocumentRoot /var/www/example2
      ErrorLog example2.error_log
</VirtualHost>
日期:2020-09-17 00:16:34 来源:oir作者:oir