Nginx+Tomcat动静分离
需求: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动静分离的更多相关文章
- nginx+tomcat动静分离结构
本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...
- nginx tomcat 动静分离
所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件</span>,从而达到动静页面 ...
- Nginx + Tomcat 动静分离实现负载均衡(转)
0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...
- Nginx + Tomcat 动静分离实现负载均衡
0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...
- 企业实战Nginx+Tomcat动静分离架构的技术分享
Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat.Re ...
- 基于前后端分离的Nginx+Tomcat动静分离
1.什么是动静分离 "动"与"静" 在弄清动静分离之前,我们要先明白什么是动,什么是静. 在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就 ...
- 【转载】Nginx+Tomcat 动静分离实现负载均衡
0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 1 # 定义Nginx运行的用户 和 用户组 如 ...
- 负载均衡 | Nginx+Tomcat 动静分离实现负载均衡
0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 基本配置这个文件,就可以实现负载了.但是里面的各 ...
- Nginx + Tomcat动静分离 (转)
什么是动静分离 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时 ...
随机推荐
- “ArcGIS数据应用和地图打印输出
中国科学院计算技术研究所教育中心 关于开展“ArcGIS数据应用和地图打印输出” 培训班的通知 各相关单位: 随着信息化.网络化.数字化向纵深发展,互联网与空间地理信息系统相互交织,数字地球.“智慧地 ...
- Android小项目之五 splash动画效果
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- 关于报错:'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based
最近在看Extension相关知识的时候,自己写了个小demo 发现[UIApplication sharedApplication]这个方法敲不出来了, 总是报错:'sharedApplicatio ...
- .net C# 网页播放器 支持多种格式 媒体播放器 播放器 代码
.avi格式代码片断如下:<object id='video' width='400' height='200' border='0' classid='clsid:CFCDAA03-8BE4- ...
- XAML
XAML定义 XAML是一种相对简单.通用的声明式编程语言,它适合于构建和初始化.NET对象. XAML仅仅是一种使用.NET API的方式,把它与HTML.可伸缩向量图形(SVG)或其他特定领域的格 ...
- 会话—session
这篇随笔是上一篇的姊妹篇@_@! session 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下) ...
- HDU 4422 The Little Girl who Picks Mushrooms ( 模拟)
Problem Description It's yet another festival season in Gensokyo. Little girl Alice planned to pick ...
- Part 15 Scalar user defined functions in sql server
Scalar user defined functions in sql server Inline table valued functions in sql server Multi statem ...
- sql server 锁学习
insert 默认加的锁是 不允许select,update 但是可以insert update 默认加的锁是 不允许 update 可以 select ,insert
- 网络请求的null值处理
最近项目中经常有遇到从服务器请求的数据是null的情况,这种情况下如果用[dic objectForKey:@"key"]方法,程序会发生崩溃现象,因为项目是以前的老项目,而且有太 ...