虚拟主机就是在同一个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; };
      };
    

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

  • 修改Nginx 配置文件

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

      # 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
    


** 基于端口的虚拟主机**

  • 步骤和基于域名的虚拟主机相似,修改 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;
      			}
      	}
    

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