Linux-Apache默认虚拟主机

一台服务器可以访问多个网站,每个网站都是一个虚拟主机
概念:域名(主机名)、DNS、解析域名、hosts
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机

网站更目录
Linux-Apache默认虚拟主机
域名
Linux-Apache默认虚拟主机
#windows临时将一个域名指向到某个服务器上去

虚拟主机,去掉行首的#
vim /usr/local/apache2/conf/httpd.conf //搜索httpd-vhost,去掉#
Linux-Apache默认虚拟主机
因为,一个配置文件,对于我不太方便,方式需要打开虚拟主机,这样可以配置对个servername
下图路径为虚拟主机配置文件
Linux-Apache默认虚拟主机
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //改为如下
下述中,则代表每个虚拟主机,对应一个网站,
<VirtualHost :80>
ServerAdmin [email protected] #定义管理员邮箱,存在与否,意义不大
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 #定义访问日志
####如果虚拟主机配置文件生效,则之前所定义的(下图所示)会失效
Linux-Apache默认虚拟主机
</VirtualHost>
Linux-Apache默认虚拟主机
<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代表一个站点,都是虚拟主机,

猜你喜欢

转载自blog.51cto.com/13451715/2317092
今日推荐