托管它指的是多个站点的执行一台机器上 (例如 company1.example.com
和
company2.example.com
) 。 机能够“基于 IP”,即每一个 IP 一个网站。 或者“基于名称”, 即每一个 IP 多个网站。这些网站执行在同一物理server上的事实不会明显的透漏给终于用户。——这是官网解释。
配置Apache虚拟主机。
(httpd-vhosts.conf —— Apache虚拟主机配置文件)
基于名称的虚拟主机 (每一个 IP 多个网站)
<VirtualHost *:80>
# This first-listed virtual host is also the default for *:80
ServerName www.example.com
ServerAlias example.com
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName other.example.com
DocumentRoot /www/otherdomain
</VirtualHost>
名词解释:
VirtualHost:指虚拟主机的IP/域名,*:80代表全部代表全部80port的IP
ServerName:虚拟主机名称
ServerAlias:虚拟主机别名,主机别名能够是多个支持通配符
ServerAlias example.com *.example.com
DocumentRoot:站点文件夹
基于 IP 的虚拟主机 (每一个 IP 一个网站)
Listen 172.20.30.40:80
<VirtualHost 172.20.30.40:80>
ServerAdmin webmaster@www1.example.com
DocumentRoot /www/vhosts/www1
ServerName www1.example.com
ErrorLog /www/logs/www1/error_log
CustomLog /www/logs/www1/access_log combined
</VirtualHost>
<pre name="code" class="plain">Listen 172.20.30.50:80
<VirtualHost 172.20.30.50:80>
ServerAdmin webmaster@www2.example.org
DocumentRoot /www/vhosts/www2
ServerName www2.example.org
ErrorLog /www/logs/www2/error_log
CustomLog /www/logs/www2/access_log combined
</VirtualHost>
名词解释:
<pre name="code" class="plain">ServerAdmin 站点管理员邮箱
<pre name="code" class="plain"><pre name="code" class="plain">ErrorLog 错误日志
<pre name="code" class="plain"><pre name="code" class="plain">CustomLog 訪问日志
开启Apache虚拟主机功能(httpd.conf)
搜索Virtual hosts,去掉#Include conf/extra/httpd-vhosts.conf前面的#
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
重新启动Apache服务