吧啦吧啦一堆概念
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
特点:
反向代理 负载均衡 动静分离(静态资源服务器)...
正向代理:
需要我们用户,手动的设置代理服务器的ip和端口号
反向代理:
代理服务器的,用户不需要设置.
负载均衡:
原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,
多台服务器共同完成工作任务,从而提高了数据的吞吐量。
动静分离:
将静态的资源放到反向服务器,节省用户的访问时间.
搭建步骤:
修改nginx的 nginx.conf配置文件
1. 要代理哪些服务器
在http节点下添加:
upstream myserver{
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}
2. 在server节点下的location节点中添加了反向代理服务器
格式:proxy_pass 代理服务器; 例:
location / {
proxy_pass http://myserver;
}
也可修改server节点下的listen和server_name属性。整体如下:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://myserve;
}
}
更多细节有待补充,至此启动各个服务器,启动nginx服务器后访问http://localhost/ 就可访问此服务器集群
负载均衡面临的问题:
1. session共享问题
解决方式1:只在window下好使
web服务器解决(广播机制)
注意:tomcat下性能低
修改两个地方:
1.修改tomcat的server.xml 支持共享
将 引擎标签下的
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注释去掉
2.修改项目的配置文件 web.xml中添加一个节点
解决方式2: ip_hash
保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,只需在在nginx的配置文件中
upstream节点下添加 ip_hash;
解决方式3: session后台集中保存和访问(使用redis或Ehcache保存session,实现session共享)
后续详解。