是什么
一个高性能的 HTTP 和 反向代理 服务器,其特点是占有内存少,并发能力强。它和Apache服务器相比,Nginx更加的年轻有活力,性能更强,而Apache年龄稍大,成熟稳重,相对来说bug更少。
解决什么问题
高并发
负载均衡
高可用
虚拟主机
伪静态
动静分离
配置文件解析
虚拟主机
通过nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置
基于ip的虚拟主机, (一块主机绑定多个ip地址)
基于域名的虚拟主机(servername)
基于端口的虚拟主机(listen如果不写ip端口模式)
upstream使用
weight
指定轮询几率,weight值和访问比率成正比
upstream httpds {server 127.0.0.1:8050 weight=10 down;server 127.0.0.1:8060 weight=1;server 127.0.0.1:8060 weight=1 backup;
}
down:表示当前的server暂时不参与负载
weight:默认为1.weight越大,负载的权重就越大。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。
Session共享问题
当使用Nginx做反向代理时,会存在session失效问题,此时我么可以不使用Tomcat等服务器的session机制,将sessionID保存在单独的一个地方,这里保存在Memcached中。
1、Tomcat配置
在context.xml中加入如下内容
<Manager className&#61;"de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes&#61;"n1:192.168.43.151:11211" #memcached的ip&#43;port sticky&#61;"false" lockingMode&#61;"auto"sessionBackupAsync&#61;"false"requestUriIgnorePattern&#61;".*\.(ico|png|gif|jpg|css|js)$"sessionBackupTimeout&#61;"1000" transcoderFactoryClass&#61;"de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
添加对应的jar包进入Tomcat的lib下
2、安装memcached&#xff0c;并启动。