什么是Nginx
Nginx是一个轻量级高性能的web服务器/反向代理服务器/及电子邮件(IMAP/POP3)代理服务器
1.其优势或者说为什么使用Nginx
占有内存少(1.2M+1.6M), 并发能力强
官方50000个并发连接响应 实测三万多
作用:实现了域名的代理
2.怎么实现的代理机制
1.Nginx首先需要监听特定的域名
2.当用户根据域名进行资源访问时,首先会访问nginx
3.nginx代替用户根据内部的配置文件,实现反向代理,将请求转化为特定的请求路径进行资源访问
4.nginx获取资源后将数据返回给用户,完成请求的正确响应
tomcat集群
为什么会出现集群:
单台的tomcat理论能支持150-200左右的并发量不足以抗击海量的并发
怎么使用nginx实现tomcat集群反向代理,如何让集群发挥作用
使用负载均衡的方式:
1.轮询方式:
在nginx中定义集群的配置
upstream jt{
server localhost:8081;//集群端口号
server localhost:8082;
server localhost:8083;
}
server{
listen 80;
server_name 代理的网址
location /{
proxy_pass http://jt
}
}
权重的方式: 通过weight关键值实现
upstream jt{
server localhost:8081 weight=6;
server localhost:8082 weight=3;
server localhost:8083 weight=1;
}
IP_HASH方式(了解)
upstream jt{
IP_HASH
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
缺点:安全性不好
主机下线在配置中 down
备用机制:在配置中加backup
nginx健康监测
upstream jt {
server localhost:8091 weight=6 max_fails=1 fail_timeout=60s;
server localhost:8092 weight=3 max_fails=1 fail_timeout=60s;
server localhost:8093 weight=1 max_fails=1 fail_timeout=60s;
}
2.定义超时时间.
#配置后台管理服务器
server {
listen 80;
server_name manage.jt.com;
location / {
#反向代理到url中
#proxy_pass http://localhost:8091;
proxy_pass http://jt;
proxy_connect_timeout 1;
proxy_read_timeout 1;
proxy_send_timeout 1;
}
}
}