设为首页 收藏本站
查看: 612|回复: 0

[经验分享] 在apache下配置虚拟主机

[复制链接]

尚未签到

发表于 2017-1-7 09:09:51 | 显示全部楼层 |阅读模式
  这之前我一直以为搞虚拟主机是很高深的技术(可能在apache2.2以前是很困难的,我也没有专门调查过),自己尝试了一下,原来很简单。
  在apache的配置文件目录里,找到extra目录,你会发现httpd-vhosts.conf文件,打开文件一看,你会发现以下内容(注释已经省略)
  NameVirtualHost *:80

ServerAdmin webmaster@dummy-host.robert.qiu.com
DocumentRoot "/www/docs/dummy-host.robert.qiu.com"
ServerName dummy-host.robert.qiu.com
ServerAlias www.dummy-host.robert.qiu.com
ErrorLog "logs/dummy-host.robert.qiu.com-error_log"
CustomLog "logs/dummy-host.robert.qiu.com-access_log common"


ServerAdmin webmaster@dummy-host2.robert.qiu.com
DocumentRoot "/www/docs/dummy-host2.robert.qiu.com"
ServerName dummy-host2.robert.qiu.com
ErrorLog "logs/dummy-host2.robert.qiu.com-error_log"
CustomLog "logs/dummy-host2.robert.qiu.com-access_log common"
  在这一堆配置信息中实际上我们只要注意以下内容既可(序号是我加上去的,注意,配置文件的原文)
  1. NameVirtualHost *:80
  2.
  ...
  3. DocumentRoot "/www/docs/dummy-host.robert.qiu.com"

  4. ServerName dummy-host.robert.qiu.com
  ...
  第一句表示apache针对本服务器某个ip地址和端口,进行虚拟主机设置。听上去有些拗口,举个例子,如果服务器有2个ip,192.168.1.1,192.168.1.2,那么如果第一条设置成 NameVirtualHost 192.168.1.1:80, 那么,只有针对192.168.1.1这个ip的请求才能按照下面虚拟主机的设置得到处理,比如:http://192.168.1.1/filename。在这里设置为*:80,则表示无论请求的ip是多少都能得到处理,因为你的服务器放到不同的局域网里可能分到的ip不同,设置成这样就不需要修改了。
  第二句 配套第一句使用,即对虚拟主机进行具体的配置,其中的*:80含义和上面一句相同。
  第三句 表示这个虚拟主机的文件根目录所在位置,它的意思和主配置文件httpd.conf中的一样
  第四句 这是配置的关键,表示从客户端的请求所定义的服务器名,将得到服务器的处理。这里我一开始也不明白,上面不是设置了ip吗,为什么这里还要设置机器名。所谓虚拟主机就是一个台服务器能够当成N台服务器使用,那在internet上,一台服务器外网只有一个ip,如果一台服务器的外网ip是111.111.111.111,那么我们第一句就可以设定为 NameVirtualHost 111.111.111.111:80,来响应客户端的请求,当然设置成*:80,也可以。由于dns的作用,我们可以用n个域名指向111.111.111.111,比如 www.domain1.com, www.domain2.com, www.domain3.com... 但是当你用这些域名访问的时候会发现,你打开的都是同一个页面(当然是在设置虚拟主机之前)。如果你想用不同的域名访问不同的内容,那么必须有一个功能来根据你不同的域名来定位不同的资源,于是ServerName 这个命令就起作用了。所以整个2-4句的作用就是把对dummy-host.robert.qiu.com请求映射到/www/docs/dummy-host.robert.qiu.com 目录中
  NameVirtualHost *:80

ServerAdmin webmaster@domain1.com
DocumentRoot "/www/domain1"
ServerName www.domain1.com
ServerAlias www.domain1.com
ErrorLog "logs/domain1-error_log"
CustomLog "logs/domain1-access_log common"


ServerAdmin webmaster@domain2.com
DocumentRoot "/www/domain2.com"
ServerName www.domain2.com
ErrorLog "logs/domain2.com-error_log"
CustomLog "logs/domain2.com-access_log common"
  
ServerAdmin webmaster@domain3.com
DocumentRoot "/www/domain3.com"
ServerName www.domain3.com
ErrorLog "logs/domain3.com-error_log"
CustomLog "logs/domain3.com-access_log common"
  按照上面的分析,上面的这些配置信息就配置除了
  www.domain1.com
  www.domain2.com
  www.domain3.com
  三台虚拟主机了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-324924-1-1.html 上篇帖子: lucene org.apache.lucene.util.BitVector.java 下篇帖子: 调用org.apache.tools.zip实现压缩
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表