基于IP、端口和FQDN实现虚拟主机

虚拟主机可以实现多站点共存,当站点的访问量不大时,为了节省资源(IP,物理主机),可以将多个站点运行于一台物理主机。

一、基于IP的虚拟主机:

实现虚拟主机必须先将中心主机的配置注释掉,即禁用中心主机,只需要注释DocumentRoot指令对应的行,而后再定义虚拟主机。

基于IP的虚拟主机要求一台物理机上要有多个IP,每个虚拟主机分别监听在不同IP地址上,访问时可以基于虚拟主机的名称也可以使用IP地址的方式在浏览器界面内访问。比如,两台虚拟主机www.a.org和www.b.net,我们的物理主机有两个IP地址192.168.1.133和192.168.1.134,www.a.org运行在192.168.1.133的IP上,www.b.net运行在192.168.1.134上。

首先配置主机的第二块网卡:

# ifconfig eth0:0 192.168.1.134/24

创建虚拟主机使用的目录:

# mkdir /var/www/{hosta,hostb}

编辑两个虚拟主机使用的默认主页面,内容分别为www.a.org和www.b.net。

修改httpd的配置文件的添加如下内容:

配置完成后检查语法并重启服务:# httpd -t  # service httpd restart

二、基于端口的虚拟主机:

基于端口的虚拟主机实现,设定www.a.org使用192.168.1.133的80端口,www.b.net使用192.168.1.133的8080端口,修改配置文件如下:

注意:基于不同端口的虚拟主机在实现时由于添加了新的端口,所以需要添加指定监听的端口:

更改监听的端口后,需要重启服务从能生效,# service httpd restart。

另外如果使用IE浏览器测试时,如果是测试www.b.net这个虚拟主机,需要在浏览器内输入http://192.168.1.133:8080,不能简单的输入192.168.1.133:8080,否则显示找不到网页。正常的测试结果如下:

三、基于主机名实现虚拟主机

实现基于主机名称的虚拟主机要求主机名称必须不同,另外除了需要在配置文件中注释掉中心主机的DocumentRoot指令对应的行以外还需要启用NameVirtualHost指令对应的行,默认情况下基于名称的虚拟主机监听在80端口。

设定我们的两个虚拟主机www.a.org和www.b.net都监听在192.168.1.133的80端口上,配置如下图:

配置基于名称的虚拟主机时,如果在NameVirtualHost指令后指定监听的所有地址,那么在虚拟主机的定义中要保持一致,如果指定的是IP地址,那么虚拟机中也使用IP地址,而不要用表示所有地址的*,否则会报个错误,意思是两个虚拟主机使用了相同的IP地址和端口,发生了重叠,具体的报错信息如下:

建议使用指定IP地址的方式显式的表明哪些虚拟主机是基于名称的方式的。

如果在windows操作系统内测试,需要在系统目录的windows/system32/drivers/etc/hosts文件内添加对应的解析条目,才可以正常的解析设置的虚拟主机名称,测试结果如下:

基于IP、端口和FQDN实现虚拟主机

时间: 2024-10-05 16:57:39

基于IP、端口和FQDN实现虚拟主机的相关文章

基于Nginx搭建Web服务器及虚拟主机相关配置详解

随着计算机与Internet技术的高速发展,各种各样的Web站点也就成为面向用户的中坚力量.在各种网站服务器软件中.除了Apache外,还有一款轻量级的HTTP服务器软件--Nginx. 基于Apache搭建Web服务器可以参考博文:基于Apache搭建Web服务器详解 一.Nginx服务简介 Nginx由俄罗斯的lgor Sysoev开发,专为性能优化而开发,其最知名的优点就是它的稳定性和低系统资源消耗.以及对HTTP并发连接的高处立能力(单台物理服务器可支持30000~50000个并发请求)

Apache服务器在80端口配置多域名虚拟主机的方法

我们在配置一台服务器的时候,如果只运行一个站点,往往过于浪费资源.Nginx和Apache都可以通过配置虚拟主机实现多站点.配置虚拟主机的方式主要有两种,一种是多个不同端口对应的多个虚拟主机站点,一种是同一端口对应多个不同域名的虚拟主机站点.这里我用80端口为例,在apache配置多个不同域名虚拟主机. 试验环境:windows+apache (linux+apache同理) 1.  虚拟机需要用到Rewrite,所以先编辑Apache的conf目录下的httpd.conf文件 掉Rewrite

Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

配置Tomcat监听80端口 1.配置Tomcat服务的访问端口 Tomcat默认启动的端口是8080,如果你想修改为80,则需要修改server.xml文件. [[email protected] src]# vim /usr/local/tomcat/conf/server.xml 按如下需求更改: 找到Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protoc

配置Tomcat监听80端口, 配置Tomcat虚拟主机,Tomcat日志

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/conf/server.xml在里面找到8080<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />将里面的8080改为80,然后保存退出.然后先关闭tomcat/usr/local/tomcat/bin/

配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

一. 配置Tomcat监听80端口 vim /usr/local/tomcat/conf/server.xmlConnector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1"/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh 二.配置Tomcat虚

linux下用Apache一个IP多个域名建虚拟主机

如有两个域名,分别是hello.abc.com和play.abc.com,需把这两个域名都绑定到 IP是219.13.34.32的服务器上 1.首先需在域名供应商管理页面指定域名和IP的对应关系 2.WEB服务器配置好LAMP环境 3.把对应的源码分别放到/usr/local/apache/htdocs目录下,分别命名为upload和upload2 4.配置apache #vi httpd.conf 更改成 ServerName 219.13.34.32:80 然后在文件中添加以下内容 Name

练习----基于FQDN的虚拟主机设置

1.vim   /etc/httpd/conf.d/vhost1.conf 创建vhost1.conf文件并输入下面内容 <VirtualHost 192.168.1.28:80>ServerName www1.magedu.comDocumentRoot /data/vhosts/www1 CustomLog logs/www1-access_log combined </VirtualHost> 2.vim   /etc/httpd/conf.d/vhost2.conf 创建v

Nginx 负载均衡(基于IP/端口)

Nginx负载均衡的原理图: 网站内容分别部署在apache1和apache2上,在Nginx上进行负载均衡设置,当用户想访问apache1和apache2服务器上的内容时,只需要访问Nginx服务器,Nginx会将请求分别转发到web服务器apache1和apache2上,web服务器处理请求后,将请求的内容发送到Nginx上,Nginx再将内容返回给用户那里. 这个转发过程,对于用户来说是感受不到的,既能保护web服务器安全,又能提高web服务器的性能. 负载均衡设置方式: 如图,有一台Ng

Apache搭建Web主机(虚拟目录、分别基于IP地址、端口、主机名)

Apache介绍 Apache HTTP Server是一款开源的网站服务软件,在Web服务器领域中长期保持着超过半数的份额,Apache服务器可以运行在Linux.UNIX.Windows等多数操作系统平台中. Apache服务器在功能.性能和安全性等方面的表现都是比较突出的,可以较好地满足Web服务器用户的应用需求,其主要特点包括以下几个方面: 开放源代码 跨平台应用 支持各种Web编程语言 模块化设计 运行非常稳定 良好的安全性 构建虚拟Web主机 在同一台Apache服务器中运行多个We