需求:nginx处理用户请求的静态页面,tomcat处理用户请求jsp页面,来实现动态分离,nginx处理静态页面效率远高于tomcat,这样一来就能更好的提高并发,处理性能。

准备软件:

下载jdk1.7:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

下载tomcat7.0:http://tomcat.apache.org/download-70.cgi

下载nginx1.6.3:http://nginx.org/en/download.html

1、JDK配置

[root@web1 ~]# cat /etc/redhat-release

CentOS release 6.6 (Final)

[root@web1 ~]# uname -a

Linux web1 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux

[root@web1 ~]# cd tools

[root@web1 tools]# tar xf jdk-1.7-linux-32bit.tar.gz -C /usr/local/

[root@web1 tools]# mv /usr/local/jdk1.7.0_67 /usr/local/jdk

[root@web1 tools]# vi /etc/profile

JAVA_HOME=/usr/local/jdk

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export JAVA_HOME PATH CLASSPATH

[root@web1 tools]# source /etc/profile

[root@web1 tools]# java -version  #显示版本说明成功

java version "1.7.0_67"

Java(TM) SE Runtime Environment (build 1.7.0_67-b01)

Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode)

2、Tomcat配置

[root@web1 tools]# tar xf apache-tomcat-7.0.64.tar.gz -C /usr/local/

[root@web1 tools]# mv /usr/local/apache-tomcat-7.0.64 /usr/local/tomcat

#默认tomcat是root身份运行的,这样不安全,我们设置来用普通用户

[root@web1 tools]# groupadd tomcat

[root@web1 tools]# useradd -g tomcat tomcat

[root@web1 tools]# passwd tomcat

[root@web1 tools]# chown tomcat.tomcat -R /usr/local/tomcat

[root@web1 tools]# su - tomcat /usr/local/tomcat/bin/startup.sh

[root@web1 tools]# echo "su - tomcat /usr/local/tomcat/bin/startup.sh" >> /etc/rc.local  #开机启动

[root@web1 tools]# netstat -tunlp|grep java

tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      14940/java

tcp        0      0 :::8009                :::*                        LISTEN      14940/java

tcp        0      0 :::8080                :::*                        LISTEN      14940/java

 

3、Nginx安装配置

 安装过程详见:http://linuxzkq.blog.51cto.com/9379412/1630217

#主配置文件配置

[root@web1 ~]# grep -Ev "#|^$" /application/nginx/conf/nginx.conf

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {

listen       80;

server_name  localhost;

location ~\.(html|htm)$ {

#jsp网站程序根目录,一般nginx与tomcat在同一个目录

root   html;

index  index.jsp index.do index.html index.htm;

}

location ~\.jsp$ {

index index.jsp;

proxy_pass http://127.0.0.1:8080; #来自jsp请求交给tomcat处理

proxy_redirect off;

proxy_set_header Host $host;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                  client_max_body_size 10m;   #允许客户端请求的最大单文件字节数

 

                             client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数

 

                             proxy_connect_timeout 90;   #nginx跟后端服务器连接超时时间(代理连接超时)

 

                             proxy_read_timeout 90;      #连接成功后,后端服务器响应时间(代理接收超时)

 

                             proxy_buffer_size 4k;       #设置代理服务器(nginx)保存用户头信息的缓冲区大小

 

                             proxy_buffers 6 32k;        #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

 

                             proxy_busy_buffers_size 64k;  #高负荷下缓冲大小(proxy_buffers*2

 

                             proxy_temp_file_write_size 64k;   #设定缓存文件夹大小,大于这个值,将从upstream服务器传

}

location ~\.(png|js|css|jpg|gif|xml|svg|ico)$ {   #由nginx处理静态页面

root    html/ROOT;

}

}

}

Nginx+Tomcat动静分离的更多相关文章

  1. nginx+tomcat动静分离结构

    本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...

  2. nginx tomcat 动静分离

    所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件</span>,从而达到动静页面 ...

  3. Nginx + Tomcat 动静分离实现负载均衡(转)

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...

  4. Nginx + Tomcat 动静分离实现负载均衡

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...

  5. 企业实战Nginx+Tomcat动静分离架构的技术分享

    Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat.Re ...

  6. 基于前后端分离的Nginx+Tomcat动静分离

    1.什么是动静分离 "动"与"静" 在弄清动静分离之前,我们要先明白什么是动,什么是静. 在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就 ...

  7. 【转载】Nginx+Tomcat 动静分离实现负载均衡

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 1 # 定义Nginx运行的用户 和 用户组 如 ...

  8. 负载均衡 | Nginx+Tomcat 动静分离实现负载均衡

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 基本配置这个文件,就可以实现负载了.但是里面的各 ...

  9. Nginx + Tomcat动静分离 (转)

    什么是动静分离 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时 ...

随机推荐

  1. 【鬼脸原创】github搭建动态网站

    a{ color:blue; font-weight:bold; } #cnblogs_post_body ol li { list-style-type: cjk-ideographic; } p[ ...

  2. SQL查询中的in与join效率比较

    大多数情况下,程序员比较喜欢使用in来查询符合某些条件的数据,最近在查询某个角色有哪些用户的方法中,使用了in语句: ) FROM baseuser AND BaseUser.Id IN (SELEC ...

  3. KVC 和 KVO 简单总结

    KVC: key value coding,键值编码.是一种通过使用属性的名称(key)来间接访问对象属性的方法.这个方法可以不用通过 setter/getter 方法来访问对象的属性.该方法使用的实 ...

  4. POJ 1860 Currency Exchange (最短路)

    Currency Exchange Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u S ...

  5. 略谈Android之Intent

    前言:大家都知道Android程序的实现一般都由四大组件构成: Activity :Android程序实现功能的主体,提供了和客户交互的界面,也提供了和后台交互的功能. Service :是一个没有界 ...

  6. sql server实用工具sql prompt的安装与注册

    说起 sql prompt ,相信一直在sql server 领域摸爬滚打的技术人员们,并不陌生. 它是一款拥有SQL智能提示功能的SQL ServerVS插件.SQL Prompt能根据数据库的对象 ...

  7. SQL事务隔离级别

    数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况. 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修 ...

  8. wamp图标黄色的另一种可能原因

    学习php用的是wamp即windows+apache+mysql+php,但是当启动的时候,图标为黄色(正常应为绿色),开始以为是端口的问题,但是将端口改掉依旧如此,后来发现是机器装的sqlserv ...

  9. XAPI(XenAPI)

      转载:http://www.cnblogs.com/dkblog/archive/2011/07/07/2099885.html 初识toolstack--XEN的XenServer管理的核心 什 ...

  10. php中sprintf与printf函数用法区别

    下面是一个示例:四舍五入保留小数点后两位  代码如下 复制代码 <?php$num1 = 21;echo sprintf("%0.2f",$num1)."<b ...