apache多个网站
最佳回答
很多人常常看到一台服务器上跑多个站点,不同的域名访问不同的站点,就会有个疑惑:访问的时候并没有在地址栏中加入端口号,多个域名都是解析到这个服务器的IP地址,服务器怎么能够正确的分辨和解析呢?
其实还是对http协议不够了解,看下图一切一目了然
对应的在apache中有rewite和proxy模块,它们就是为了完成这些任务, 一台服务上我们配置多个 vhost,必然需要端口号,
比如:
a.com :80
b.com :8080
实际访问的时候 www.a.com 自动转发到80端口, www.b.com 则自动转发到8080端口。
网站 1:
网站 2:
这样一个服务器的 80 端口上就跑起两个站点.
没事找了个虚拟主机来试用,尝试用给的IP地址访问怎么都访问不了,一直都显示
后来仔细一想,虚拟主机是需要依赖域名的,不然没办法区分vhost,后来找到测试的域名果然可以正常访问了。
最新回答共有2条回答
-
無畏
回复Apache
搭建多个网站
对于网站做到一定规模以后,肯定是一台服务器一个网站是最好的选择。但是对于刚起步的站长来说,一是处于探索尝试的过程中,还有就是囊中羞涩,购买一台配置稍高的服务器,在一台服务器上搭建多个网站是不错的选择。有田笔记是在Win服务器下使用IIS搭建的同时支持ASP和PHP的单服务器多网站策略,由于Apache服务器的性能更好一些,对于只使用PHP的站长来说,是不二选择,下面有田就把一台Apache服务器搭建多个网站的方法分享给大家。
在一台服务器上搭建多个网站的方法(Apache版)
Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http.conf中加入一行包含的语句“Include
/etc/httpd/conf/vhost.conf”即可将vhost.conf的配置文件包含进来。
目前在一台服务器上搭建多个网站的方法主要由以下几种:
1、 基于IP地址
这种方法适用于一台服务器有多个IP的情况,这种方法最简单粗暴。但一般一个VPS只绑定一个公网IP(额外IP另外加钱),故此方法不过多介绍。
2、 基于端口号
这种方法使用不同的端口号来识别不同的网站,实际访问时使用网址加端口号的方式来实现,如http://www.shengliyoutian.com:80,http://www.shengliyoutian.com:81,http://www.shengliyoutian.com:82,该方式配置后需要在网站后加上端口号来访问不同的网站,适用于网站域名短缺但服务器的端口号充足的情况,缺点是网站后需要加上端口号,不利于用户访问
3、 基于主机名
这种方法使用不同的域名来区分不同的网站,所有的域名解析都指向同一个IP,Apache通过在HTTP头中附带的host参数来判断用户需要访问哪一个网站,如http://www.shengliyoutian.com,http://blog.sheng