虚拟主机是一个术语,用于指在一台机器上运行多个网站的做法。
虚拟主机可以是基于 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