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

[经验分享] apache-httpd2.2.17 虚拟主机

[复制链接]

尚未签到

发表于 2017-1-5 10:28:46 | 显示全部楼层 |阅读模式
1.域名问题
    假设我们有两个域名:www.huadepengye.com和www.huaxin.com
    为了方便测试,我们可以通过系统下的hosts文件,设定解析这两个域名时对应的ip,在xp系统盘的 windows\system32\drivers\etc 下,找到hosts文件, 在其中添加两条
127.0.0.1 www.huadepengye.com
127.0.0.1 edu.huadepengye.com
即,都将域名指向本机。

2.需要配置的文件
    需要配置两个文件,即httpd.conf和httpd-vhosts.conf
httpd.conf在apache服务器文件夹的conf里面
httpd-vhosts.conf在conf文件夹的extra里面
3.步骤
3.1 修改httpd.conf文件
(1)把#Include conf/extra/httpd-vhosts.conf前面的#去掉,意思是让httpd.conf文件包含httpd-vhosts.conf这个 配置文件,这是apache的配置模块化的一个表现。
(2)将 ServerName *:80 注释掉,即前面添加 # 。ServerName需要在httpd-vhosts.conf文件中配置,每个虚拟主机对应的ServerName都是不同的,ServerName 通常设定为域名,当然也可以设置成其他,*表示通配本机所有域名。
(3)将 DocumentRoot "C:/webroot" 注释掉,每个虚拟主机的DocumentRoot 都是不同的,需要在httpd-vhosts.conf配置,所以将主配置文件中的注释掉。
(4)将 <Directory “C:/webroot"> 标签 和 其 内部的选项都注释掉,即
#<Directory "C:/webroot">
# Options None
# AllowOverride None
# Order allow,deny
# Allow from all
#</Directory>

每个虚拟主机对于访问限制可以单独配置,当然也是在httpd-vhosts.conf配置,上面注释掉的,都是httpd.conf默认的ServerName、DocumentRoot和Directory属性,因为每个虚拟主机都可以有自己 的配置,故可将这些默认的注释掉。

3.2 修改httpd-vhosts.conf文件
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@huadepengye.com
DocumentRoot "C:/webroot/huadepengye.com"
ServerName www.huadepengye.com
ErrorLog "logs/dummy-host.huadepengye.com-error.log"
CustomLog "logs/dummy-host.huadepengye.com-access.log" common
<Directory "C:/webroot/huadepengye.com">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@huaxin.com
DocumentRoot "C:/webroot/huaxin.com"
ServerName www.huaxin.com
ServerAlias *.huaxin.com
ErrorLog "logs/dummy-host2.huaxin.com-error.log"
CustomLog "logs/dummy-host2.huaxin.com-access.log" common
<Directory "C:/webroot/huaxin.com">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Alias /vpath "c:/webroot/vpath"
<Directory "c:/webroot/vpath">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

值得注意的是,VirtualHost 是有顺序的,排在最前的VirtualHost是我们默认的网站域名。如果没有注释掉httpd.conf中的DocumentRoot和 ServerName,那么第一个虚拟主机的这两个配置都必须与httpd.conf中的一样,包括端口。当然我这里建议注释掉httpd.conf中的 标签。

ServerAdmin        网站管理员邮箱,基本上可以随便写。
DocumentRoot      虚拟主机的根目录,确保磁盘地址存在,否则apache重新加载配置文件时会报错。
ServerName         虚拟主机域名。
ServerAlias          虚拟主机域名别称,*表示通配。如*.aaa.com就可以代表bbs.aaa.com或news.aaa.com等。
ErrorLog               虚拟主机错误日志,可以自己设定名称,一般保存到apache主目录logs文件夹下。
CustomLog          虚拟主机访问日志。
Directory             设置虚拟主机主目录的访问限制属性。
Alias                    设置虚拟路径,如第二个虚拟主机可以通过 bbb.com/vpath访问到c:/webroot/vpath中的网页。

3.3 配置完成保存后

        重启apache服务器,应该就可以了,如果有错误,可以查看一下apache的错误日志,注意DocumentRoot的路径一定要真是存在,否则 apache会报错。

运维网声明 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-324159-1-1.html 上篇帖子: windows tomcat 与 apache 环境的搭建 下篇帖子: 文件上传,使用Apache组件上传文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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