Nginx
一、什么是集群?
多台服务器之间处于连通状态,并且这些服务器做同一件事情就称之为一个集群
二、代理
1. 正向代理
定义:客户端向真实服务器端发送请求的时候,处于某些原因无法请求到真实的服务器端,于是,客户端就找到了代理服务器,然后将请求发送给代理服务器,再由代理服务器转发请求给真实服务器,真实服务器不知道具体的请求是谁发给它的。
特点:正向代理是和客户端在一起的,所有的配置都需要在客户端完成,服务器端不知道具体的客户端是谁。
2. 反向代理
定义:客户端向真实服务器端发送请求,但是客户端的请求被代理服务器所拦截,再由代理服务器把请求转发给真实的服务器端,这个时候,真实服务器端知道具体的客户是谁,但是,客户端不知道真实的服务器是谁。
特点:反向代理是和服务器端在一起的,所有的请求都必须到达代理服务器,客户端不知道真实的服务器端是谁,所有的配置信息都要在服务器端完成,提高项目的安全性(反向代理服务器和真实服务器绑定在一起,为了过滤客户端的请求)。
三、Nginx配置
1. 安装并启动Nginx
- 从官网下载nginx压缩包
nginx1.17.3(蓝奏云) - 使用xftp工具把nginx压缩包上传到Linux中,并解压
tar -zxvf nginx…
- 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
- 参考yum源不可用问题
- 安装nginx需要的类库
yum -y install gcc pcre-devel openssl openssl-devel
- 创建快捷方式(加载启动服务)
在nginx根目录下执行:
./configure --prefix=/usr/local/nginx-1.17.3
- 编译并安装nginx
在nginx根目录执行
make
make install
- 启动nginx
在/usr/local/nginx-1.17.3/sbin目录下执行
./nginx
不报错,说明启动成功
- 测试是否启动成功
使用本机浏览器访问nginx服务器
2. 反向代理配置
所有的配置信息,必须要在==/usr/local/nginx-1.17.3==文件夹下完成,配置在/home/apps/nginx-1.17.3中不生效
- 配置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. 负载均衡
- 什么是负载?
客户端所发送的请求称之为服务器的负载 - 什么是均衡?
把客户端的请求按照某种规则/算法分发到不同的服务器上,就称之为均衡 - 负载均衡:把客户端的请求按照某种规则/算法分发到不同的服务器上,就称之为负载均衡
负载均衡其实也是一种反向代理的体现
4. 负载均衡的配置
- 在反向代理的基础上进行配置负载均衡
vim nginx.conf
upstream tomcatServer{
server 192.168.244.142:8080;
server 192.168.244.139:8080;}
- 配置完成后重启nginx
在/usr/local/nginx-1.17.3/sbin目录下执行
./nginx -s reload
- 负载均衡的算法规则
- 默认算法规则 轮询
- 权重—>weight
upstream tomcatServer{
server 192.168.244.142:8080 weight=99;
server 192.168.244.139:8080;
}
weight默认值为1,如果不配置也是1;weight值必须要大于等于1,没有上限,但是如果配置小于1,会报错
- down
upstream tomcatServer{
server 192.168.244.142:8080 down;
server 192.168.244.139:8080;
}
所配置down的服务器,不参加负载均衡
- backup
后备服务器,当主服务器宕机的时候,备用服务器启动,当主服务器再次启动,备用服务器就没事干了
upstream tomcatServer{
server 192.168.244.142:8080;
server 192.168.244.139:8080 backup;
}
- 反向代理可以让服务器变得更安全
allow:允许
deny:禁止
配置ip禁止访问:
在/usr/local/nginx-1.17.3/conf文件夹下进行配置
location / {
deny 192.168.244.143;
proxy_pass http://tomcatServer;
}
所有的允许/禁止配置,都必须在proxy_pass上面配置