Nginx整合Tomcat配置教程
"该资源主要讲述了如何在Linux环境中整合Nginx与Tomcat,以便实现更高效的Web服务。其中涉及到的软件包括Nginx、Tomcat、perl兼容的正规表达式库(pcre)以及两个Nginx的扩展模块:headers-more-nginx-module和nginx-upstream-jvm-route。这个过程对于在高并发场景下优化Web服务性能,特别是当有多个Tomcat实例时,通过Nginx进行负载均衡是非常重要的。" 在整合Nginx和Tomcat的过程中,首先要确保所有必要的软件都已经下载并存放在指定目录/home/sofeware下。这些软件包括: 1. agentzh-headers-more-nginx-module-v0.15rc2-0-g2c629de.tar.gz:这是一个可选的模块,用于支持修改和隐藏HTTP响应头信息,增强Nginx的功能。 2. nginx-upstream-jvm-route-0.1.tar.gz:这是Nginx会话持久化模块,主要用于在Tomcat集群中保持用户的会话状态,确保用户请求能够被转发到处理其上一次请求的相同Tomcat实例。 3. pcre-8.10.tar.gz:Perl兼容的正规表达式库,是Nginx配置中正则表达式功能的基础,需要先安装。 4. nginx-1.0.4.tar.gz:Nginx服务器的源代码包。 5. apache-tomcat-7.0.11.tar.gz:Tomcat应用服务器的源代码包。 整合步骤大致如下: 1. 首先,进入/home/sofeware目录,并解压所有下载的软件包。 2. 安装pcre库,因为它可能还没有在系统中预装。通过运行`./configure`, `make`, `make install`来编译和安装。 3. 解压并进入headers-more-nginx-module和nginx-upstream-jvm-route的目录,它们将作为Nginx的额外模块使用。 4. 对Nginx源代码进行patch操作,添加这两个模块。使用`patch`命令将模块的补丁应用到Nginx源代码中。 5. 使用`./configure`命令配置Nginx编译选项,指定安装路径、启用所需模块(如http_stub_status_module和http_ssl_module)并添加刚刚的两个模块路径。 6. 编译并安装Nginx,执行`make`和`make install`。 最后,配置Nginx服务器。修改默认的配置文件(如/usr/local/nginx/conf/nginx.conf),设置合适的监听端口(如80),定义Nginx和Tomcat之间的反向代理规则。这通常涉及到对location块的配置,以便Nginx能正确地将请求转发到对应的Tomcat实例。 通过这种方式整合,Nginx可以作为前端服务器接收HTTP请求,然后根据负载均衡策略(例如轮询、权重分配等)将请求分发到后端的Tomcat实例,提高系统的并发处理能力,并保持用户会话的连续性。在高流量网站或需要高可用性的服务中,这种架构是非常常见的。
1、准备软件(存放在目录/home/sofeware下)
agentzh-headers-more-nginx-module-v0.15rc2-0-g2c629de.tar.gz #支持隐藏头部信息 (不是必须,觉得需要就安装吧)
nginx-upstream-jvm-route-0.1.tar.gz #nginx会话记录的必须模块 (用于tomcat集群,单tomcat就直接忽略相关操作)
pcre-8.10.tar.gz #包括 perl 兼容的正规表达式库 (shell>rpm -qa|grep pcre 可以检查系统是否已存在)
nginx-1.0.4.tar.gz
apache-tomcat-7.0.11.tar.gz (安装相对简单、资料也比较多,这里不演示了)
2、 编译安装
shell>cd /home/sofewareshell>tar zxf pcre-8.10.tar.gz &&cd pcre-8.10shell>./configure && make && make installshell>cd ..shell>tar zxf agentzh-headers-more-nginx-module-v0.15rc2-0-g2c629de.tar.gzshell>tar zxf nginx-upstream-jvm-route-0.1.tar.gzshell>tar zxf nginx-1.0.4.tar.gzshell>cd nginx-1.0.4shell>patch -p0 < /home/sofeware/nginx_upstream_jvm_route/jvm_route.patchshell>./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/home/sofeware/nginx_upstream_jvm_route/ --add-module=/home/sofeware/agentzh-headers-more-nginx-module-2c629de/ && make && make install
3、配置 (默认80端口)
配置文件:/usr/local/nginx/conf/nginx.conf
//运行nginx所在的用户名和用户组user nginx nginx;worker_processes 1;//全局错误日志及PID文件error_log /usr/local/nginx/logs/error.log;pid /usr/local/nginx/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; //全局访问日志 access_log /usr/local/nginx/logs/access.log; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /var/www/test; //网站根目录 #charset koi8-r; access_log /usr/local/nginx/logs/host.access.log; location / { //将index.jsp 加入到默认的访问首页地址 index index.html index.htm index.jsp; } //所有jsp的页面均交由tomcat处理 location ~ .*.jsp$ { index index.jsp; proxy_pass http://localhost:8080; } //设定访问静态文件直接读取不经过tomcat location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
4、测试配置
shell>/usr/local/nginx/sbin/nginx -t//出现如下信息表示配置成功,否则检查配置文件the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
5、启动、、重启、停止
shell>/usr/local/nginx/sbin/nginx //启动shell>/user/local/nginx/sbin/nginx -s reload //重启shell>/usr/local/nginx/sbin/nginx -s stop //停止
6、添加新模块(非覆盖安装)
NginxHttpRealIpModule //有些网站使用这样的方式来搭建分布式缓存,若干台Squid放在前面提供缓存服务,内容从后面的 Nginx获取。不过如此一来,Nginx日志里看到的IP就是Squid的IP了,为了能让Nginx透明获取IP,可以使用 NginxHttpRealIpModule
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦