`
810364804
  • 浏览: 784532 次
文章分类
社区版块
存档分类
最新评论

Nginx的虚拟主机配置

 
阅读更多
一、什么是虚机主机虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Internet服务器功能,同一台主机上的虚拟主机之间是完全独立的。利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程,虚拟主机提供了在同一台服务器,同一组Nginx进程上运行多个网站的功能。跟Apache一样,Nginx也可以配置多种类型的虚拟主机,一是基于IP的虚拟主机,二是基于域名的虚拟主机,三是基于端口的虚拟主机。
二、配置基于IP的虚拟主机
linux、FreeBSD操作系统都允许添加IPalias.html' target='_blank'>别名。可以在一块物理网卡上绑定多个IP地址,使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。
使用ifconfig命令查看该服务器的IP地址
本地回环代表设备的虚拟接口,所以默认被看作是永远不会宕掉的接口,它的主要作用有两个:一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;二是某些SERVER/CLIENT的应用程序在运行时须调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序要在同一台机器上运行且没有别的SERVER时,就可以把SERVER的资源装在本机上,SERVER的IP地址设为127.0.0.1也同样可以运行。
如果要在eth0网卡设备上添加一个IP别名192.168.1.223可以通过ifconfig和route命令来进行: ifconfig eth0:0 192.168.1.223 broadcast 192.168.1.255 netmask 255.255.255.0 up route add -host 192.168.1.223 dev eth0:0
通过ifconfig和route配置的IP别名在服务器重启后会消失,可以将这两条ifconfigt 和 route 命令添加到/etc/rc.local文件中,让系统开机时自动运行
具体操作如下
ifconfig eth0:0 192.168.1.223 broadcast 192.168.1.255 netmask 255.255.255.0 uproute add -host 192.168.1.223 dev eth0:0mkdir /usr/local/nginx/wwwcd /usr/local/nginx/wwwtouch index.htmlecho "<h1>wangwei</h>" > index.htmlvim /usr/local/nginx/conf/nginx.conf#user nobody;worker_processes 1;
events { worker_connections 1024;}

http {    
include       mime.types;
default_type  application/octet-stream;
keepalive_timeout  65;

	server {
	        listen   192.168.1.222:80;        
	        server_name  192.168.1.222;        

	        location / {            
	        	root   html;            
	        	index  index.html index.htm;        
	        }    
	 } 

	 server {        
	 	listen   192.168.1.223:80;        
	 	server_name  192.168.1.223;        

	 	location / {            
	 		root   www;            
	 		index  index.html index.htm;        
	 }
 }


一个Server{....} 就是一个虚拟主机,如果本配置多个虚拟主机,建立多段server{}配置即可非常方便,监听的IP和端口,也可以不写IP地址,只写端口,把它配置成“listen 80”,则表示监听该服务器上所有IP的80端口可通过server_name区分不同的虚拟主机
kill -9 nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

使有浏览器查看虚拟主机的WEB服务是否正常

基于域名的虚拟主机
基于域名的虚拟主机是最见的一种虚拟主机,配置你的DNS服务器,将每个主机名映射到正确的IP地址然后配置Nginx服务器,令其识别不同的主机名就可以了,这种虚拟主机技术,使很多虚拟主机可以共享同一个IP地址,有效解决了IP地址不足的问题,所以如果没有特殊要求使你必须用一个IP的牛气主机最好还是使用基于域名的虚拟主机。
配置文件修改如下
#user  nobody;worker_processes  1;
#pid        logs/nginx.pid;

events {    
	worker_connections  1024;
}

http {    
	include       mime.types;    
	default_type  application/octet-stream;
    sendfile        on;       
    keepalive_timeout  65;
    server {       
      listen       80;        
      server_name  www.wang.com;
      #charset koi8-r;
      #access_log  logs/host.access.log  main;
      
      location / {            
        root   html;            
        index  index.html index.htm;       
      }
      
      #error_page  404              /404.html;
      # redirect server error pages to the static page /50x.html        
      # error_page   500 502 503 504  /50x.html;        

      location = /50x.html {           
         root   html;        
      }

    }


    server {        
        listen       80;        

        server_name  bbs.wang.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {            
        	root   www;            
        	index  index.html index.htm;  
        }     
    }

}


pkill -9 nginx/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
使用浏览器进行测试查看基于域名的虚拟主机是否成功http://www.linuxso.com/linuxrumen/23089.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics