虚拟主机就是在同一个Nginx服务器上运行多个网站
配置虚拟主机有三种方法:

基于域名的虚拟主机 : 不同的域名 相同的IP
基于端口的虚拟主机 : 不使用域名、IP来区分不同站点的内容,而是用不同的TCP端口号
基于IP地址的虚拟主机 : 不同的域名 不同的IP ( 需要加网络接口 ,应用的不广泛)
由于基于IP地址的虚拟主机需要添加网络接口 使用不广泛,所以下面只对
基于域名的虚拟主机和基于端口的虚拟主机 进行介绍。

基于域名的虚拟主机

  • 安装DNS域名解析

    # rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
    # vim /etc/named.conf    (修改监听IP 和 允许any)
    # vim /etc/named.rfc1912.zones 
        zone "bt.com" IN {
    type master;
    file "bt.com.zone";
    allow-update { none; };
    };
    zone "accp.com" IN {
    type master;
    file "accp.com.zone";
    allow-update { none; };
    };

    Nginx虚拟主机配置_第1张图片

    # cd /var/named
    # cp -p named.localhost bt.com.zone 
    # vim bt.com.zone 
     www    IN A    192.168.100.102(将最后一行替换)

    Nginx虚拟主机配置_第2张图片

  • 修改Nginx 配置文件

    # vim /usr/local/nginx/conf/nginx.conf
         include vhost/*.conf;  //末尾括号内添加

    Nginx虚拟主机配置_第3张图片

    # mkdir /usr/local/nginx/conf/vhost     //创建一个vhost目录
    # cd /usr/local/nginx/conf/vhost
    # vim vname.conf                           //创建一个配置文件方便管理(也可以在主配置文件中直接配置)
    
    server {
    server_name  www.bt.com;
    location / {
        root   /var/www/bt;
        index  index.html index.php;
    }
        }
        server {
    server_name  www.accp.com;
    location / {
        root   /var/www/accp;
        index  index.html index.php;
    }
  • 创建站点目录和测试页面

    mkdir -p /var/www/accp
    mkdir -p /var/www/bt
    echo "this is accp" > /var/www/accp/index.html
    echo "this is bt" > /var/www/bt/index.html
    # service named restart
    # service nginx restart
    打开IE浏览器 输入: www.bt.com   www.accp.com

    Nginx虚拟主机配置_第4张图片Nginx虚拟主机配置_第5张图片


基于端口的虚拟主机

  • 步骤和基于域名的虚拟主机相似,修改 vname.conf

    # vim /usr/local/nginx/conf/vhost/vname.conf 
     server {
    listen 192.168.100.102:6666;
     server_name 192.168.100.102:6666;
    location / {
        root   /var/www/bt;
        index  index.html index.php;
    }
    }
    
    server {
                listen 192.168.100.102:8888;
                server_name 192.168.100.102:8888;
                location / {
                        root   /var/www/accp;
        index  index.html index.php;
                }
        }

Nginx虚拟主机配置_第6张图片

    # service nginx restart
    打开IE浏览器 输入:
    192.168.100.102:6666     
    192.168.100.102:8888

Nginx虚拟主机配置_第7张图片Nginx虚拟主机配置_第8张图片