nginx的虚拟主机配置

1)基于ip   2)基于域名   3)基于端口

一个最简单的虚拟主机的配置:

 
   
  1. http
  2. {
  3.   listen  80;
  4.   server_name nj.cc;
  5.   access.log  /usr/local/var/logs/nginx/access.log;
  6.  
  7.   location{
  8.       index index.htm index.html index.php;
  9.       root /www/php;  
  10. }
  11. }

### 基于IP的虚拟主机的配置

Linux freeBSD等都允许自己添加IP别名,设置IP别名只需要配置系统上的网络接口,让它监听额外的IP地址,在Linux系统上可以使用ifconfig或者route添加ip别名.

eg: ifconfig 会显示下边本地ip信息,其中eth0是本机ip  

lo是本地回环设备,默认永不宕掉,它的主要作用有两个:

1)测试本机网络设置,能ping通127.0.0.1 说明本机的网卡和ip协议都按照正确

2)某些server/client的应用程序再运行时必须调用服务器上的资源,一般要指定server的ip,当该程序要在同一台机器上运行且没有别的server时,可以把server装在本机,server的ip设置为127.0.0.1


eg:使用ifconfig和route命令来添加2个虚拟ip  192.168.1.1  192.168.1.2

 
   
  1. /sbin/ifcofig eth0:1 192.168.1.1  broadcast  192.168.1.255 netmask 255.255.255.0 up
  2. /sbin/route  add -host 192.168.1.1  dev  eth0:1
  3. /sbin/ifcofig eth0:1 192.168.1.2  broadcast  192.168.1.255 netmask 255.255.255.0 up
  4. /sbin/route  add -host 192.168.1.2  dev  eth0:1

此时,若可以使用ping命令ping通,则配置无误,但是使用命令设置的ip别名在服务器重启后会失效,可以

将上边的代码添加到 /etc/rc.local  中,使之永久有效


基于ip的虚拟主机配置

 
   
  1. ##基于ip的虚拟主机配置
  2. http{
  3.    ## 第一个虚拟主机
  4.    server{
  5.        #监听的ip和端口
  6.        listen 192.168.8.43:80;
  7.        #主机名称
  8.        server_name 192.168.8.43;
  9.        #访问日志的存放路径
  10.        access_log logs/server1.access.log combined;
  11.        location /{
  12.            #默认首页文件,从左到有,若找不到index.html就找index.htm..
  13.            index index.html index.htm
  14.            #网页存放目录
  15.            root /data0/htdocs/server1;
  16.        }
  17.    }
  18.    ##第二个虚拟主机
  19.    server{
  20.       listen 192.168.8.44:80;
  21.       server_name 192.168.8.44;
  22.       access_log logs/server2.access.log combined;
  23.       location /{
  24.           index index.html index.htm
  25.           root /data0/htdocs/server2;
  26.       }
  27.    }

基于域名的虚拟主机配置

 
   
  1. ##基于域名的虚拟主机配置,也是比较常用的一种虚拟方式
  2. http{
  3.    ## 第一个虚拟主机
  4.    server{
  5.        #监听的ip和端口
  6.        listen 80;
  7.        #主机名称
  8.        server_name nj1.com;
  9.        #访问日志的存放路径
  10.        access_log logs/nj1.com.access.log combined;
  11.        location /{
  12.            #默认首页文件,从左到有,若找不到index.html就找index.htm..
  13.            index index.html index.htm
  14.            #网页存放目录
  15.            root /data0/htdocs/nj1;
  16.        }
  17.    }
  18.    ##第二个虚拟主机
  19.    server{
  20.       listen 80;
  21.       server_name nj2;
  22.       access_log logs/nj2.com.access.log combined;
  23.       location /{
  24.           index index.html index.htm
  25.           root /data0/htdocs/nj2;
  26.       }
  27.    }










你可能感兴趣的:(nginx)