简单东西-Nginx实现Tomcat负载均衡
来源:互联网 发布:win7定时开关机软件 编辑:程序博客网 时间:2024/06/05 09:48
基本概念
百度百科上定义Nginx是这样的:
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
今天用 Nginx和Tomcat实现了一个简单的负载均衡的例子,记录如下。
准备Tomcat应用
前两天整理websocket时用的一个简单项目,修改server.xml中的端口为8080,启动tomcat,JSP页面引用jquery1.9。现在验证下这个静态资源请求分发的情况。
<script type="text/javascript" src="/jquery1.9.0.js"></script> <script type="text/javascript">
直接访问tomcat请求,由于项目路径中没有该文件,所以报404错误:
添加配置
使用Nginx实现Tomcat请求的动静资源分离,在nginx安装目录下的html中放入jquery1.9这个文件:
修改nginx.conf,在http节点中添加如下配置:
upstream local_tomcat { server localhost:8080; } server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } # 所有静态请求都由nginx处理,存放目录为html location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ { root html; } # 所有动态请求都转发给tomcat处理 location ~ \.(jsp|do)$ { proxy_pass http://local_tomcat; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
从Nginx服务器的响应行为来看,这个配置文件就是配置Nginx请求处理规则的,Server定义的是Nginx服务器的信息,它监听80端口和443端。对80端口的情况是这样的:
upstream 负载均衡模块,配置主机列表
location / :所有的/请求最终转发到根目录下的index.html文件
location ~ .(jsp|do) 转发到http://local_tomcat目录(这里的local_tomcat就是upstream这个配置里面的名称local_tomcat。
location ~ .(gif|jpg|jpeg|png|bmp|swf) 所有的静态资源文件都转发到根目录html目录下。
进入Nginx目录,启动它:start nginx,访问主页面http://localhost/进入主页面:
再次通过Nginx访问tomcat应用:
此时这个jquery文件的请求是先被Nginx服务器解析的,所以能正确访问到。
启示录
上周六参加的那个架构大会,好几位讲师的PPT框架中的负载均衡实现方式中都有Haproxy和Nginx,以前也听过Nginx服务器,但是没有深入了解过,所以就有了本文的实验操作。
没有系统地看过它的资料,单就从实验过程来看,还是能总结一点编程注意事项的。例如:如果要结合Nginx使用,实现Tomcat动、静资源分离功能,那么在开发过程中就需要统一所有的静态资源的路径,否则就容易出现404错误。
此外Tomcat可以在server.xml中配置docBase将所有的静态资源统一放在web工程目录之外。
<Context docBase="D:\WoodWang\JavaSoft\nginx-1.12.0\html" path="/" reloadable="true" />
加上这行配置之后,直接访问http://localhost:8080/websocketDemo/index.jsp也不会报错。
- 简单东西-Nginx实现Tomcat负载均衡
- Nginx+Tomcat实现简单的负载均衡
- nginx tomcat实现负载均衡
- nginx+tomcat实现负载均衡
- Nginx+tomcat实现负载均衡
- nginx+tomcat实现负载均衡
- nginx+tomcat实现负载均衡
- Nginx+Tomcat实现负载均衡
- Nginx+Tomcat实现负载均衡
- nginx+tomcat 实现负载均衡
- Nginx+Tomcat 实现负载均衡
- Nginx+Tomcat实现负载均衡
- Nginx+Tomcat实现负载均衡
- nginx+tomcat实现负载均衡
- windows环境 nginx+tomcat简单实现负载均衡
- 【知了堂学习笔记】Nginx+Tomcat实现简单负载均衡
- nginx简单实现负载均衡
- nginx 负载均衡简单实现
- Flash AS3 学习15 …
- tensorflow学习笔记(四):TensorBoard
- C++学习1 - 第一个C++程序
- 用户管理的完全恢复机制+数据库完全恢复步骤+完全恢复机制+完全数据库恢复命令
- C++学习2 - 枚举型常量
- 简单东西-Nginx实现Tomcat负载均衡
- C++学习3 - 定义一个对象
- C++学习4 - 内联函数
- C++学习5 - const成员函数
- Flash AS3 学习16 …
- C++学习6 - 按值传递,按…
- C++学习7 - 按别名传递对象
- 初始商户信息导入(下载模板)
- js在IE和FF下的兼容性问题