您的位置:首页 > 运维架构 > Nginx

nginx的虚拟主机配置

2017-02-05 16:19 316 查看
1)基于ip  2)基于域名  3)基于端口

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

http

{

  listen 80;

  server_name nj.cc;

  access.log /usr/local/var/logs/nginx/access.log;

 

  location{

    index index.htm index.html index.php;

    root /www/php; 

}

}


### 基于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

/sbin/ifcofig eth0:1 192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0 up

/sbin/route add -host 192.168.1.1 dev eth0:1


/sbin/ifcofig eth0:1 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0 up

/sbin/route add -host 192.168.1.2 dev eth0:1


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

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

基于ip的虚拟主机配置

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


http{

  ## 第一个虚拟主机

  server{

    #监听的ip和端口

    listen 192.168.8.43:80;

    #主机名称

    server_name 192.168.8.43;

    #访问日志的存放路径

    access_log logs/server1.access.log combined;

    location /{

      #默认首页文件,从左到有,若找不到index.html就找index.htm..

      index index.html index.htm

      #网页存放目录

      root /data0/htdocs/server1;

    }

  }


  ##第二个虚拟主机

  server{

    listen 192.168.8.44:80;

    server_name 192.168.8.44;

    access_log logs/server2.access.log combined;

    location /{

      index index.html index.htm

      root /data0/htdocs/server2;

    }

  }


基于域名的虚拟主机配置

##基于域名的虚拟主机配置,也是比较常用的一种虚拟方式

http{

  ## 第一个虚拟主机

  server{

    #监听的ip和端口

    listen 80;

    #主机名称

    server_name nj1.com;

    #访问日志的存放路径

    access_log logs/nj1.com.access.log combined;

    location /{

      #默认首页文件,从左到有,若找不到index.html就找index.htm..

      index index.html index.htm

      #网页存放目录

      root /data0/htdocs/nj1;

    }

  }


  ##第二个虚拟主机

  server{

    listen 80;

    server_name nj2;

    access_log logs/nj2.com.access.log combined;

    location /{

      index index.html index.htm

      root /data0/htdocs/nj2;

    } 

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: