Nginx实战(一) 虚拟主机

利用虚拟主机,不同为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

Nginx首先决定一个过来的请求由哪一个server来处理

就是:我们打开HttpWatch看到的那个HOST值。

server {

        listen       80;

        server_name  nginx.org  www.nginx.org;

        ...

   }  

server {

        listen       80;

        server_name  nginx.net  www.nginx.net;

       ...

 }

server {

       listen       80;

       server_name  nginx.com  www.nginx.com;

       ...

 }

这样的话我们就可以配置三个域名。即同一个IP绑定三个域名。如果发现有一个域名均不匹配的话就定义出来一个默认的域名

server {

        listen       80 default_server;

        server_name  nginx.net  www.nginx.net;

       ...

 }

对于这种域名我们可以这样来处理

server {

        listen       80 default_server;

        server_name  www.nginx.net;     //这个值你得填写一个

        return      444;

 }

 

基于域名与IP混用的虚拟主机

server {

        listen       192.168.1.1:80;

        server_name  nginx.org  www.nginx.org;

        ...

   }  

server {

        listen       192.168.1.1:80;

        server_name  nginx.net  www.nginx.net;

       ...

 }

server {

       listen       192.168.1.2:80;

       server_name  nginx.com  www.nginx.com;

       ...

 }

 

至此配置完成了有关虚拟机的配置工作!


在Nginx配置文件nginx.conf中,一个最简化的虚拟主机配置代码如下

server {
  listen       80;
  server_name  localhost;
  access_log  logs/host.access.log  main;
  location / {
     root   html;
     index  index.html index.htm;
  }
}

基于IP的虚拟主机

可以在一块物理网卡上绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。设置IP别名也非常容易,只须配置系统上的网络接口,让它监听额外的lP地址。

server {
    listen      192.168.204.131:80;
    server_name example.org www.example.lianggzone.com;
    root /data/www;
}

server {
    listen      192.168.204.132:80;
    server_name example.net www.example.lianggzone.com;
    root /data/bbs;
}

基于域名的虚拟主机

基于域名的虚拟主机是最常见的一种虚拟主机。只需配置你的DNS服务器,将每个主机名映射到正确的lP地址,然后配置Nginx服务器,令其识别不同的主机名就可以了。这种虚拟主机技术,使很多虚拟主机可以共享同一个lP地址,有效解决了lP地址不足的问题。所以,如果没有特殊要求使你必须用一个基于lP的虚拟主机,最好还是使用基于域名的虚拟主机。
编辑/etc/hosts加入虚拟域名以便解析。

cat /etc/hosts

编辑内容如下

127.0.0.1 www.blog.lianggzone.com www.bbs.lianggzone.com

修改Nginx配置文件nginx.conf,添加虚拟域名支持

server {
    listen      80;
    server_name www.blog.lianggzone.com;
    location / {
      root   /usr/local/dev/nginx/page;
      index  index.html;
    }
}

server {
    listen      80;
    server_name www.bbs.lianggzone.com;
    location / {
      root   /usr/local/dev/nginx/page;
      index  index2.html;
    }
}

基于端口的虚拟主机

基于端口的虚拟主机配置,使用端口来区分,浏览器使用域名或ip地址:端口号访问。


server {
    listen 8080;
    server_name www.blog.lianggzone.com;
    root /usr/local/dev/nginx/page;
}

server {
    listen 9090;
    server_name www.bbs.lianggzone.com;
    root /usr/local/dev/nginx/page;
}
 
原文:http://zl382378867.blog.163.com/blog/static/407944212011124115813231/
原文:http://www.codeceo.com/article/nginx-virtual-hosting.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值