欢迎访问文稿网!

虚拟主机的配置

范文之家 分享 时间: 加入收藏 我要投稿 点赞

虚拟主机的配置

    【任务描述】

    虚拟主机是在一台服务器上运行多个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) 在客户端访问。

221381
领取福利

微信扫码领取福利

微信扫码分享