Apache配置详解

本文详细介绍了Apache虚拟主机的配置,包括基于域名、端口和IP的虚拟主机设置,以及服务器优化、别名、CGI、日志、用户认证和SSL加密的配置。通过实例解析了DocumentRoot、ServerName、Directory等关键指令,并提供了多场景的虚拟主机配置总结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 虚拟主机概念

我们要想实现一个web站点,而且能够在互联网上被访问,首先它再能运行在操作系统,而且这个操作系统还要运行在物理主机上(第一它是一个主机)。在互联网上能够被访问,那我们需要一个主机,需要一个IP地址,需要一个时时在线的服务器,这需要多少资源?对众多小型站点来讲或者说对某种需求来讲,有可能都用不到服务器,也就是每天就10个人左右访问,只是需要我们在线而已,如果我们就为这一点点的需求就投入重大的资源的话是非常浪费的。我们就期望能够像我们使用虚拟机一样,虚拟的OS一样或虚拟的PC一样,能够在一台物理主机上虚拟出来多个可以同时运行的站点或者我们把它称为主机因此就把它称为虚拟主机。

2. Apache 主机的类型

1. 中心主机

2. 虚拟主机

  1. 基于IP: 端口相同,IP地址不同。
  2. 基于端口:IP相同,端口不同。
  3. 基于域名:IP地址相同,端口相同主机名不同

注意:所有的虚拟主机的配置我们都需要取消中心主机,也就是注释掉 DocumentRoot 这是配置虚拟主机的前提

3. 基于域名的虚拟主机

例如我采用的 xampp 所以配置虚拟主机就在 C:\xampp\apache\conf\extra\httpd-vhosts.conf 中配置,由于这个文件默认被 include 到主配置文件中了,所以在这里的修改都可以生效。

首先需要保证主配置文件中的中心主机被取消了也就是:

#DocumentRoot "C:/xampp/htdocs"

然后打开 httpd-vhosts.conf 配置文件,按照下面的格式配置虚拟主机

<VirtualHost *:80>
	DocumentRoot "C:/xampp/htdocs"
	ServerName localhost
	<Directory "C:/xampp/htdocs">
		Options Indexes FollowSymLinks Includes ExecCGI
		AllowOverride All
		Require all granted
	</Directory>
</VirtualHost>

1. <VirtualHost *:80>

apache监听本机的所有 IP 和 80 端口做多域名虚拟主机

2. DocumentRoot

表示服务器的根目录

3. ServerName

就是表示域名,我们采用域名方式配置虚拟主机,所以每个虚拟主机的域名应该是不一样的才行

4. Directory

对根目录的规则应用,其中涉及到对于目录的访问权限和其他配置问题

5. 对于 Directory 指令解析

1. Options

配置在特定目录使用哪些特性,常用的值和基本含义如下

  1. ExecCGI: 在该目录下允许执行CGI脚本。
  2. FollowSymLinks: 在该目录下允许文件系统使用符号连接。
  3. Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
  4. SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

所以我们一般在配置 PHP 的时候所配置的内容是

Options Indexes FollowSymLinks Includes ExecCGI

2. AllowOverride

允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):

  • None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。
  • All: 在.htaccess文件中可以使用所有的指令。

建议关闭这个选项,因为apache在文档中已经明确支持不建议使用它了,主要是会降低服务器性能,.htaccess 文件可以做到的我们都可以在 Directory 指令中做的更好。

3. Order

控制在访问时Allow和Deny两个访问规则哪个优先,也就是黑白名单的匹配顺序

  • Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。
  • Deny:拒绝访问的主机列表。

更详细的用法可参看:order用法

匹配原则:

Allow,Deny

First, all Allow directives are evaluated; at least one must match, or the req

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值