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

[经验分享] how to config apache's virtual host

[复制链接]

尚未签到

发表于 2017-1-7 07:41:01 | 显示全部楼层 |阅读模式
  设置Apache虚拟主机


一、基于IP的虚拟主机


这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的网卡上绑定多个IP地址去服务多个虚拟主机。若该机器的IP地址为192.168.11.2(account.yourdomain.com),首先你要设置IP别名(假设用192.168.11.4作为其别名IP)。加下面的行到

/etc/rc.d/rc.local,确保每次启动后自动运行。

#/sbin/ifconfig eth0:0 192.168.11.4 netmask 255.255.255.0 broadcast \192.168.11.255 up

#/sbin/route add -host 192.168.11.4 eth0:0

下一步你需要设置/etd/httpd/conf/httpd.conf文件:

<VirtualHost 192.168.11.4>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log
</VirtualHost>
  
接着分别创建目录

/home/httpd/sales.yourdomain.com,

/var/log/httpd/sales.yourdomain.com,放相应的网站内容到目录/home/httpd/sales.yourdomain.com下即可,并确保你内部的DNS指定sales.yourdomain.com的A记录到IP地址192.168.11.4


注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机方案。


二、基于名字的虚拟主机:


它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件/etc/httpd/conf/httpd.conf

NameVirtualHost 192.168.11.2
<VirtualHost 192.168.11.2>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log
</VirtualHost>
<VirtualHost 192.168.11.2>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/hr.yourdomain.com
ServerName hr.yourdomain.com
ErrorLog /var/log/httpd/hr.yourdomain.com/error_log
TransferLog /var/log/hr.yourdomain.com/access_log
</VirtualHost>
  

注:你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,为了让它工作,你需要sales.yourdomain.com, hr.yourdomain.com的DNS都指向IP地址192.168.11.2

上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。
  ServerAlias:服务器别名,在Apache中可以用于设置虚拟主机接收到个域名,也可以用于接收泛解析的域名。具体的设置方法如下:


三、用于设置虚拟主机接收多个域名


一个虚拟主机常常会接收多个域名解析,比如:一个虚拟主机要同时介绍sanywork.cn, 51684.com两个域名,或者是两个二级域名,如:www.sanywork.cn, www1.sanywork.cn,对于这种情况,可以在用ServerAlias轻松做到,打开apache的设置文件:httpd.conf,在该主机的设置代码中:

<VirtualHost 192.168.1.12>
ServerName “sanywork.cn” #默认域名;
ServerAlias 51684.com www1.sanywork.cn #不同域名用空格隔开;
DocumentRoot “D:\wwwroot\sanywork.cn”
<Directory “D:\wwwroot\sanywork.cn”>
Options Indexes FollowSymLinks
AllowOverride all
</Directory>
</VirtualHost>
  
保存httpd.conf文件,重启apche即可生效。


四、 用于接收泛域名解析


一个虚拟主机是可以接收泛域名解析的,也是通过SeverAlias选项设置,通过设置该选项不仅可以接收二级泛域名解析,也可以接收三级、四级泛域名解析,具体设置如下:

<VirtualHost 192.168.11.4>
ServerName “sanywork.cn” #默认域名;
ServerAlias *.sanywork.cn #用*表示泛域名,如果要接收三级泛域名解析,可以写成这样:*.my.sanywork.cn;
DocumentRoot “D:\wwwroot\sanywork.cn”
<Directory “D:\wwwroot\sanywork.cn”>
Options Indexes FollowSymLinks
AllowOverride all
</Directory
</VirtualHost>
  
保存httpd.conf文件,重启apche即可生效。

运维网声明 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-324843-1-1.html 上篇帖子: apache commons dbcp 学习与使用 下篇帖子: [J2ME]apache+Tomcat负载平衡设置详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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