nginx

192 阅读2分钟

1.虚拟主机的配置

虚拟主机一般用于预发环境中给个人测试使用,配置过程也很简单

所谓虚拟主机是指在一台物理服务器上可以划分成多个虚拟的服务器,每一个虚拟主机有自己独立的域名和目录

打开nginx的配置文件nginx.conf,找到server节点

如下所示

这个一个nginx默认的配置

我们看到只有一个server,想要配置虚拟主机就要设置多个server

简单解释一下上面的内容的意思

listen 80;listen指监听的端口号

server_name:指虚拟主机名

如果我们再设置一个server,server_name为a.com当访问a.com时,这个虚拟主机进行处理

虚拟主机的名字可以有一下几种格式:

a.准确的名字 b.*号开头和*号结尾 c.正则表达式形式

注意server_name也可以指定多个如:server_name a.com b.com

location / :匹配所有的请求

root :虚拟主机的物理根目录

index:默认首页



2.负载均衡

先来解释两个概念:a.反向代理(Reverse Proxy) b.负载均衡

a.代理服务器来接受请求,然后将请求转发给内部网络上的服务器,接着从服务器上得到的结果返回给请求连接的客户端

b.有一台服务器A,现在所有的请求都由A来处理,随着用户的增多一台服务器撑不住了,又添了一台服务器B,好了现在请求过来了到底是给A处理还是给B处理,理想的是目前哪个服务器的连结数少给哪台服务器处理这个就是负载均衡

那如何实现上面的过程

a.添加服务器组


代码块
http{
   upstram a{
      server b.com;
      server c.com
   }
}


稍微解释一下:upstream是nginx中用来配置服务器组的模块,a是指定的服务器组的名称,server后面是指定的服务器地址(域名或者ip)

服务器组配置好了,接下来要做的是如何把请求转到服务器组

b.修改server中的转发配置

location / {
    proxy_pass http://a;
    }
}

好,现在我们的负载均衡就配置完成了


不过,稍微介绍一下请求准发的规则

现在我们服务器组有两台服务器,那么请求来时的转发规则主要有以下几种方式

a.谁的连接数少就发给谁 b.基于权重的负载均衡 c.IP地址哈希 d.轮询