一台服务器可以访问多个网站, 每个网站都是一个虚拟主机
概念: 域名(主机名),DNS, 解析域名, hosts
任何一个域名解析到这台机器, 都可以访问的虚拟主机就是默认虚拟主机
网站更目录
域名
#Windows 临时将一个域名指向到某个服务器上去
虚拟主机, 去掉行首的 #
VIM /usr/local/apache2/conf/httpd.conf // 搜索 httpd-vhost, 去掉 #
因为, 一个配置文件, 对于我不太方便, 方式需要打开虚拟主机, 这样可以配置对个 servername
下图路径为虚拟主机配置文件
VIM /usr/local/apache2/conf/extra/httpd-vhosts.conf // 改为如下
下述中, 则代表每个虚拟主机, 对应一个网站,
- <VirtualHost :80>
- ServerAdmin admin@aminglinux.com #定义管理员邮箱, 存在与否, 意义不大 DocumentRoot "/data/wwwroot/aming.com"
- #定义网站的根目录所在路径 ServerName aming.com #域名, 只能写一个 ServerAlias www.aming.com
- www.abc.com # 可设置多个域名, 域名的别名 ErrorLog "logs/aming.com-error_log" #定义错误日志
- CustomLog "logs/aming.com-access_log" common #定义访问日志 #### 如果虚拟主机配置文件生效,
- 则之前所定义的 (下图所示) 会失效
</VirtualHost>
- <VirtualHost :80>
- DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com
- </VirtualHost>
- /usr/local/apache2/bin/apachectl -t #检测语法是否错误 /usr/local/apache2/bin/apachectl
- graceful #重新加载
默认主机:
任何域名, 只要解析过来, 只要指向本机的 ip, 如果访问的域名不在配置文件里面, 则会走默认主机
crul -x192.168.1.30:80 abc.com
总结, 当在主配置文件中 httpd.conf, 打开虚拟主机配置文件, 虚拟主机生效是, 则主配置文件里的网站根目录所在路径和域名则会失效.
虚拟主机配置文件, 可定义多个 VirtualHost, 而每一个 VirtualHost 代表一个站点, 都是虚拟主机,
来源: http://www.bubuko.com/infodetail-2847505.html