Nginx

一、什么是集群?

多台服务器之间处于连通状态,并且这些服务器做同一件事情就称之为一个集群

二、代理

1. 正向代理

定义:客户端向真实服务器端发送请求的时候,处于某些原因无法请求到真实的服务器端,于是,客户端就找到了代理服务器,然后将请求发送给代理服务器,再由代理服务器转发请求给真实服务器,真实服务器不知道具体的请求是谁发给它的。

特点:正向代理是和客户端在一起的,所有的配置都需要在客户端完成,服务器端不知道具体的客户端是谁。

2. 反向代理

定义:客户端向真实服务器端发送请求,但是客户端的请求被代理服务器所拦截,再由代理服务器把请求转发给真实的服务器端,这个时候,真实服务器端知道具体的客户是谁,但是,客户端不知道真实的服务器是谁。

特点:反向代理是和服务器端在一起的,所有的请求都必须到达代理服务器,客户端不知道真实的服务器端是谁,所有的配置信息都要在服务器端完成,提高项目的安全性(反向代理服务器和真实服务器绑定在一起,为了过滤客户端的请求)。

三、Nginx配置

1. 安装并启动Nginx

  1. 从官网下载nginx压缩包
    nginx1.17.3(蓝奏云)
  2. 使用xftp工具把nginx压缩包上传到Linux中,并解压
tar -zxvf nginx…
  1. CentOS6 yum源不可用,执行以下5步操作,更改为阿里源可用
sed -i “s|enabled=1|enabled=0|g” /etc/yum/pluginconf.d/fastestmirror.conf
 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
 curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
 yum clean all
 yum makecache
  1. 参考yum源不可用问题
  2. 安装nginx需要的类库
yum -y install gcc pcre-devel openssl openssl-devel
  1. 创建快捷方式(加载启动服务)

在nginx根目录下执行:

./configure --prefix=/usr/local/nginx-1.17.3
  1. 编译并安装nginx

在nginx根目录执行

make
make install
  1. 启动nginx
在/usr/local/nginx-1.17.3/sbin目录下执行
 ./nginx

不报错,说明启动成功

  1. 测试是否启动成功

使用本机浏览器访问nginx服务器

2. 反向代理配置

所有的配置信息,必须要在==/usr/local/nginx-1.17.3==文件夹下完成,配置在/home/apps/nginx-1.17.3中不生效

  1. 配置nginx.conf
    所有的配置,都必须在http{}里面完成
    并且需要写在server{}上面,因为有一个自然加载顺序,在加载location/{}的时候,没有加载到upstream{},会直接报错
    配置tomcat映射路径:
upstream tomcatServer(命名){
 server 192.168.xxx.xxx:8080;(真实服务器的ip地址,别忘记加";")
 }配置location /{} 配置代理规则,删除location /{}所有内容,并改为以下内容
 location /{ proxy_pass http://tomcatServer;
  }


使用本机浏览器进行访问nginx服务器,当页面为tomcat页面,说明配置成功

3. 负载均衡

  1. 什么是负载?
    客户端所发送的请求称之为服务器的负载
  2. 什么是均衡?
    把客户端的请求按照某种规则/算法分发到不同的服务器上,就称之为均衡
  3. 负载均衡:把客户端的请求按照某种规则/算法分发到不同的服务器上,就称之为负载均衡
    负载均衡其实也是一种反向代理的体现

4. 负载均衡的配置

  1. 在反向代理的基础上进行配置负载均衡
vim nginx.conf
upstream tomcatServer{
 server 192.168.244.142:8080;
 server 192.168.244.139:8080;}
  1. 配置完成后重启nginx
在/usr/local/nginx-1.17.3/sbin目录下执行
 ./nginx -s reload
  1. 负载均衡的算法规则
  1. 默认算法规则 轮询
  2. 权重—>weight
upstream tomcatServer{
 server 192.168.244.142:8080 weight=99;
 server 192.168.244.139:8080;
 }

weight默认值为1,如果不配置也是1;weight值必须要大于等于1,没有上限,但是如果配置小于1,会报错

  1. down
upstream tomcatServer{
 server 192.168.244.142:8080 down;
 server 192.168.244.139:8080;
 }


所配置down的服务器,不参加负载均衡

  1. backup

后备服务器,当主服务器宕机的时候,备用服务器启动,当主服务器再次启动,备用服务器就没事干了

upstream tomcatServer{
 server 192.168.244.142:8080;
 server 192.168.244.139:8080 backup;
 }
  1. 反向代理可以让服务器变得更安全
allow:允许
 deny:禁止
 配置ip禁止访问:
 在/usr/local/nginx-1.17.3/conf文件夹下进行配置
 location / {
 deny 192.168.244.143;
 proxy_pass http://tomcatServer;
 }


所有的允许/禁止配置,都必须在proxy_pass上面配置