Nginx和tomcat整合

nginx的优点及功能

nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP / POP3 / SMTP代理服务器。它主要具有以下优点:

高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到2?3万并发连接数。
内存消耗少:在3万并发连接下,开启的10个Nginx进程才消耗150M内(15M * 10 = 150M)。
配置文件非常简单:风格跟程序一样通俗易懂。
成本低廉:Nginx为开源软件,可以免费使用。而购买F5 BIG-IP,NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。
支持重写重写规则:能够根据域名,URL的不同,将HTTP请求分到不同的主机服务器组。
内置的健康检查功能:如果Nginx Proxy先前的某台Web服务器停机机了,不会影响前端访问。
节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头。
稳定性高:用于反向代理,停机机的概率微乎其微
由于nginx的性能很好,因此国内很多大公司都在使用,最主要的原因也是nginx是开源免费的。除了上述描述的各种功能,项目中主要用nginx来实现以下三个功能:

动静分离
反向代理
负载均衡http://www.daiqiyang.com
网页,图片缓存
13.1.2 nginx负载均衡主要有以下五种策略
最小(最小)每个请求按时间顺序逐一分配到不同的服务器,如果将服务器降下,能自动剔除。
weight指定预定几率,weight和访问比率成正比,用于预定服务器性能不均的情况。
ip_hash每个请求按访问ip的hash结果分配,这样每个访客固定访问一个主机服务器,可以解决会话的问题。
fair(第三方)通过服务器的响应时间来分配请求,响应时间短的优先分配。
url_hash(第三方)通过访问url的哈希结果来分配请求,使每个URL定向到同一个放置服务器,从而使服务器为缓存时比较有效。
安装Nginx

yum -y install gcc gcc-c ++ pcre-devel openssl-devel openssl wget
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix = / usr / local / nginx
使
进行安装
安装Tomcat
安装jdk环境并测试

[ c6s02 ~]# tail -5 /etc/profile
####java_env####
export JAVA_HOME=/usr/local/jdk1.8.0_60
export PATH=JAVAHOME/bin:

JAVAH?OME/bin:JAVA_HOME/jre/bin:$PATH

export CLASSPATH=.CLASSPATH:
CLASSPATH:JAVA_HOME/lib:JAVAHOME/jre/lib:

JAVAH?OME/jre/lib:JAVA_HOME/lib/tools.jar

source /etc/profile

[ c6s02 ~]# java -version
java version “1.8.0_60”
Java? SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot? 64-Bit Server VM (build 25.60-b23, mixed mode)
安装tomcat(两个子系统)

tar -zxvf apache-tomcat-7.0.47.tar.gz

#新建tomcat01项目
mkdir -p /opt/tomcat01
cp -a apache-tomcat-7.0.47/* /opt/tomcat01/

#新建tomcat02项目,并修改三处端口为18005,18080,18009
mkdir -p /opt/tomcat021
cp -a apache-tomcat-7.0.47/* /opt/tomcat02/
#手动创建测试页并测试

echo ‘this is tomcat01’ >/opt/tomcat01/webapps/ROOT/index.jsp
echo ‘this is tomcat02’ >/opt/tomcat02/webapps/ROOT/index.jsp
curl 10.0.0.22:8080/index.jsp
curl 10.0.0.22:18080/index.jsp
通过Nginx和Tomcat结合

安装nginx并修改Nignx配置文件

vim /usr/local/nginx/conf/nginx.conf
在HTTP模块中添加:

upstream tomcat { #定义服务器组tomcat
server 10.0.0.22:8080; #定义后Tomcat端服务器
server 10.0.0.22:18080;
}
在server模块中添加:

location ~ .jsp$ { #URL正则匹配,匹配jsp结尾的所有URL
proxy_pass http://tomcat; #proxy_pass反向代理参数,将匹配到的请求反向代理到tomcat服务器组!
}