Apache 中的配置虚拟主机

虚拟主机是一个术语,用于指在一台机器上运行多个网站的做法。
虚拟主机可以是基于 IP 的,这意味着我们对每个网站都有不同的 IP 地址,或者基于名称的,意味着我们有多个在每个 IP 地址上运行的名称。
它们在同一物理服务器上运行这一事实对最终用户来说并不明显。

在配置文件中添加以下几行

# vi /etc/httpd/conf/httpd.conf

<VirtualHost *:80> 
ServerAdmin root@server.example.com 
ServerAlias server2.example.com
DocumentRoot /home
ServerName storage.estuate
ErrorLog logs/jack.example.com.log 
CustomLog logs/jack.example.com.access_log
</VirtualHost>

这里的“*”表示 apache 服务器将侦听我们在机器上用于 Web 服务器配置的任何 IP。
我们应该养成使用正确的 IP 或者名称而不是“*”的习惯。

ServerAdmin ==> 设置服务器在返回给客户端的任何错误消息中包含的联系人地址。如果httpd无法将提供的参数识别为URL,则会假定它是一个电子邮件地址,并在链接地址前面加上mailto:。但是,建议实际使用电子邮件地址。

ServerAlias ==> 此指令设置主机的备用名称。

ServerName ==> 该指令设置服务器用于标识自身的请求方案、主机名和端口。
这在创建重定向 URL 时使用。

DocumentRoot ==> 该指令指定我们希望在 Web 服务器上可见的文件的根目录

为虚拟主机添加更多功能

# vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerAdmin root@server.example.com 
ServerAlias server2.example.com
DocumentRoot /home
ServerName storage.estuate
<Directory /home/jack/mypage.html>
AllowOverride None
Order Deny,Allow
Deny from All 
</Directory> 
</VirtualHost> 

AllowOverride None 将禁用对 .htaccess 文件的访问

默认情况下,允许用户访问 Web 服务器上文档根目录中的所有目录。
要覆盖此规则,我们使用以下指令

<Directory /home/jack/mypage.html>
Order Deny,Allow 
Allow from all 
</Directory> 
日期:2020-06-02 22:17:36 来源:oir作者:oir