首页 百科知识 虚拟主机的配置

虚拟主机的配置

时间:2023-10-05 百科知识 版权反馈
【摘要】:在设置基于端口号的虚拟主机的配置时, 需要利用Listen语句设置所监听的端口。服务器IP地址为172.16.102.61,两个虚拟主机的域名分别为:①在客户机上通过修改/etc/hosts文件实现。假设服务器IP地址为172.16.102.61, 创建基于8000和8800两个不同端口号的虚拟主机。要求不同的虚拟主机对应的主目录不同, 默认文档的内容也不同。

【任务描述】

虚拟主机是在一台服务器上运行多个Web站点。 有3种设定虚拟主机的方式:

(1) 基于名称的虚拟主机。 只需服务器有一个IP地址即可, 所有的虚拟主机共享同一个IP, 各虚拟主机之间通过域名进行区分。 但需要新版本的HTTP1.1浏览器支持。 这种方式已经成为建立虚拟主机的标准方式。

(2) 基于IP的虚拟主机。 需要在服务器上绑定多个IP地址, 然后配置Apache, 把多个网站绑定在不同的IP地址上, 访问服务器上不同的IP地址, 就可以看到不同的网站。

(3) 基于端口号的虚拟主机。 只需服务器有一个IP地址即可, 所有的虚拟主机共享同一个IP, 各虚拟主机之间通过不同的端口号进行区分。 在设置基于端口号的虚拟主机的配置时, 需要利用Listen语句设置所监听的端口。

【任务分析】

本任务分别使用3种设定虚拟主机的方式来完成对虚拟主机的配置。

【任务实施】

1. 配置基于域名的虚拟主机

根据所示的配置参数,搭建域名不同的两个虚拟主机。 服务器IP地址为172.16.102.61,两个虚拟主机的域名分别为:

www.web1.com

www.web2.com

站点根目录为:

/var/www/myweb1/

/var/www/myweb2/

日志文件分别存放在:

/var/vhlogs/myweb1

/var/vhlogs/myweb2

(1)注册虚拟主机所要使用的域名。

实现域名解析可以有两种方法:

①在客户机上通过修改/etc/hosts文件实现。 这是一种比较简单的方法, 只需在/etc/hosts文件中加入下面两行:

172.16.102.61 www.web1.com

172.16.102.61 www.web2.com

②在DNS服务器上通过配置DNS实现。 需要给每台虚拟主机创建一个CNAME。 在var/named/named.hosts文件中加入以下两行:

www.web1.com IN CNAME a100.redflag.com.

www.web2.com IN CNAME a100.redflag.com

重启DNS后, 可以用nslookup和ping命令来测试, 命令如下:

#nslookup

>settype=cname

>hosta.redflag.com

#ping www.web1.com

#ping www.web2.com

使用虚拟主机可实现一机多站。

(2) 创建所需的目录和默认首页文件。

在/usr目录下创建4个目录, 分别用来存放两主机的网页和日志文件。 操作如下:

#mkdir -p /var/www/myweb1

#mkdir -p /var/www/myweb2

-p——快速建立目录结构中指定的每个目录。

echo "thisiswww.web1.com′s web!!">>/var/www/myweb1/index.html

echo "thisiswww.web2.com′sweb!!">>/var/www/myweb2/index.html

(3) 编辑/etc/httpd/conf/httpd.conf配置文件, 设置Listen侦听端口:

Listen 80

(4) 在httpd.conf文件最后添加虚拟主机的定义:

Name Virtual Host172.16.102.209

(5) 在httpd.conf文件最后添加以下两台虚拟机:

<Virtual Host172.16.102.61>

Server Admin webmaster@web1.com

Document Root /var/www/myweb1

Server Name www.web1.com

Error Log logs logs/myweb1 /error_log

Custom Log logs/myweb1 /access_log common

</Virtual Host>

<Virtual Host172.16.102.61>

Server Admin webmaster@web1.com

Document Root /var/www/myweb1

Server Name www.web2.com

Error Log logs logs/myweb2 /error_log

Custom Log logs/myweb2 /access_log common

</Virtual Host>

(6) 重新启动httpd服务:

service httpd restart

(7) 切换到图形界面。

启动浏览器在地址栏输入各自的域名, 观察各自的页面能否显示在客户端看到的访问界面。

2. 配置基于IP地址的虚拟主机

(1) 为一块网卡绑定多个IP地址:

#cd /etc/sysconfig/network-scripts

#cp ifcfg-eth0 ifcfg-eth0:0

#vi ifcfg-eth0:0

DEVICE=eth0:0

IPADDR=172.16.102.121

#ifdown eth0 //禁用网卡

#ifup eth0:0 //启用网卡

#ifup eth0

(2) 注册虚拟主机所使用的域名:

#vi /etc/hosts

增加两行:

172.16.102.61 www.mylinux1.com

172.16.102.121 www.mylinux2.com.

(3) 创建Web站点根目录和默认首页文件。 在/usr目录下创建两个目录, 分别用来存放两主机的网页:

#mkdir -p /var/www/ip2 /var/www/ip3

#echo “thisis172.16.102.61's web!!”>>/var/www/ip2 /index.html

#echo “thisis172.16.102.121'sweb!!”>>/var/www/ip3/index.html

(4) 编辑/etc/httpd/conf/httpd.conf配置文件, 保证有以下Listen指令:

Listen 80

(5) 配置虚拟主机:

<Virtual Host 172.16.102.61>

Server Name www.mylinux1.com

Document Root /var/www/ip2

</Virtual Host>

<Virtual Host 172.16.102.121>

Server Name www.mylinux2.com

Document Root /var/www/ip3

</Virtual Host>

(6) 测试。

重新启动httpd服务。 切换到图形界面启动浏览器, 在地址栏输入各自的域名, 观察各自的页面能否显示。

3. 配置基于端口号的虚拟主机

假设服务器IP地址为172.16.102.61, 创建基于8000和8800两个不同端口号的虚拟主机。 要求不同的虚拟主机对应的主目录不同, 默认文档的内容也不同。

(1) 分别创建两个主目录和两个默认文件:

#mkdir /var/www/port1 /var/www/port2

#echo “thisisport8000's web!!”>>/var/www/port1 /index.html

#echo “thisisport8800'sweb!!”>>/var/www/port2/index.html

(2) 在httpd.conf文件中, 设置基于端口号的虚拟主机, 配置内容如下:

Listen 8000

Linten 8800

<Virtual Host 172.16.102.61:8000>

Server Name www.mylinux1.com

Document Root /var/www/port8000

</Virtual Host>

<Virtual Host 172.16.102.61:8800>

Server Name www.mylinux2.com

Document Root /var/www//port8800

</Virtual Host>

(3) 重新启动httpd服务。

(4) 在客户端访问。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈