Nginx和tomcat整合
一、项目导入
1.nginx的优点及功能
nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。它主要有以下优点
- 高并发连接:
官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。
- 内存消耗少:
在3万并发连接下,开启的10个Nginx 进程才消耗150M内(15M*10=150M)。
- 配置文件非常简单:
风格跟程序一样通俗易懂。
- 成本低廉:
Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。
- 支持Rewrite重写规则:
能够根据域名、URL的不同,将 HTTP 请求分到不同的后端服务器群组。
- 内置的健康检查功能:
如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。
- 节省带宽:
支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。
- 稳定性高:
用于反向代理,宕机的概率微乎其微
由于nginx的性能很好,因此国内很多大公司都在使用,最主要的原因也是nginx是开源免费的。除了上面描述的一系列功能,项目中主要用nginx来实现以下三个功能:
- 动静分离
- 反向代理
- 负载均衡
- 网页、图片缓存
1.2 nginx负载均衡主要有以下五种策略
- 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
- weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
- ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
- fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
- url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
二、安装Nginx
yum -y install gcc gcc-c++ pcre-devel openssl-devel openssl wget
wget http