一.为什么开始写博文
最近郑州这边也兴起了,像北上广面试的时候需要问有技术博客,参与过开源的github项目吗,都30的人了,现在开始写我想也不晚,现在开始吧自己的学习都记录下来,之前很多东西都了解,但是缺少纪录,现在开始纪录吧。
二.为什么开始搞负载均衡
做了多年的企业内部的java开发一直只限于写代码,带项目也是针对内网来的一个tomcat来跑,用户量也很少,自己也不怎么跳槽(导致知识面比较窄),都是业务上比较熟悉,根据需求都可以完成开发。
公司的战略开始互联网项目,开始了解了负载均衡,开始恶补跟之前的同事进行交流,了解了nginx,通过了解发现很多的互联网网站都是实用的nginx,访问一些网站报的404都是nginx报的,才知道原来可以通过nginx下配置多个tomcat来进行负载一个tomcat的压力。好神奇。
公司的人员访问量并发越来越多,开始预见性的尝试使用,但是nginx和tomcat使用后发现一个问题后台无法登陆,nginx来回的跳转,真是日了狗了。了解了原来是3个tomcat之前没有进行session的共享。尝试自己解决一下,了解了memcached 可以实现sesson的共享。
三 .我的负载思路
nginx 负责跳转下面3个tomcat,3个tomcat用memcached负责进行session的共享,3个tomcat的内容完全一样,现在我吧操作步骤一步一步告诉大家希望多分享交流
关于centos下nginx 和 mysql,jdk安装我之前的博文有直接观看吧
1.三个空的tomcat
2.tomcat目录结构
3.加入memcached的lib的jar包(我用的mac本的UltraEdit)
3.1ultraEdit-文件--浏览
3.2 查看3个tomcat路径种lib是否有新加入的
3.3 查看3个tomcat的conf中的server.xml文件的修改
修改关闭端口 我的分别是
- tomcat1:18005
- tomcat2:28005
- tomcat3:38005
修改连接端口 我的分别是
- tomcat1:18080
- tomcat2:28080
- tomcat3:38080
修改长链接端口我的分别是
- tomcat1:18009
- tomcat2:28009
- tomcat3:38009
修改Engine 起对应的名称
- tomcat1 jvmRoute=“tomcat1”
- tomcat2 jvmRoute ="tomcat2"
- tomcat3 jvmRoute ="tomcat3"
修改Context中 docBase 是对应webapp里面的项目名称,3个tomcat中都加入这样的代码
<Context docBase="mfb" path="/mfb" reloadable="false" source="org.eclipse.jst.jee.server:mfb"> <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:127.0.0.1:11211" sticky="false" sessionBackupAsync="false" lockingMode="uriPattern:/path1|/path2" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/> </Context>
访问后http://192.168.1.201:18080/mfb/manage/admin.jsp
访问后http://192.168.1.201:28080/mfb/manage/admin.jsp
访问后http://192.168.1.201:38080/mfb/manage/admin.jsp
4.安装memcached
4.1查询命令
yum search memcached
4.2 安装命令
yum -y install memcached
4.3 命令帮助
memcached –h
注意:默认的端口是11211
4.3 加入service服务命令
chkconfig --level 2345 memcached on
以后就可以通过service memcached start|stop|restart等命令来启动、关闭、重启memcached服务。
5.nginx的配置
5.1进入nginx的conf路径
5.2创建gzip.conf写入
gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/x-javascript;
5.3创建proxy.conf空文件(注意:Host $host:180;是根据我的nginx访问的端口来的因为我本机centos80端口已经占用了我改了下端口)
proxy_redirect off; proxy_set_header Host $host:180; 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 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
5.4修改nginx.conf
#Nginxwindow #user niumd niumd; #CPU2CPU worker_processes 4; # #error_log logs/error.log; #error_log logs/error.log notice; error_log logs/error.log info; #pid pid logs/nginx.pid; events { #IOlinuxepollFreeBSDkqueuewindow #use epoll; # worker_connections 2048; } http { include mime.types; include proxy.conf; default_type application/octet-stream; # #log_format main '$remote_addr - $remote_user [$time_local] $request ' # '"$status" $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log off; access_log logs/access.log; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 1k; large_client_header_buffers 4 4k; sendfile on; tcp_nopush on; tcp_nodelay on; #keepalive_timeout 75 20; include gzip.conf; upstream localhost { #iptomcatsession #ip #ip_hash; server localhost:18080; server localhost:28080; server localhost:38080; } server { listen 180; server_name localhost; location / { proxy_connect_timeout 3; proxy_send_timeout 30; proxy_read_timeout 30; proxy_pass http://localhost; } } }
5.5 启动试试
启动:
./nginx
关闭:
./nginx -s stop
三 .大功告成
1.启动nginx
2.启动mencached
3启动tomcat
关于tomcat的配置 和 nginx的配置附件可以下载
相关推荐
这个"tomcat-redis-session-manager tomcat+nginx+redis集群所需jar"压缩包提供了在这样的架构中实现会话共享所需的Java类库。下面将详细解释其中涉及的技术点: 1. **Apache Tomcat**: Apache Tomcat是一款开源的...
在这个场景中,我们关注的是如何在Tomcat 7集群中配置和使用memcached以及配合Nginx进行负载均衡。Memcached是一种分布式内存对象缓存系统,可以提高Web应用的性能,而Nginx则是一个高性能的HTTP和反向代理服务器,...
Nginx+tomcat7+java1.7+memcached进行共享session缓存必须的一些jar包,支持nginx和memcached任意版本,但tomcat仅限7.X版本,Java的JDK版本最好用1.7的。
Linux 负载均衡 tomcat+nginx+memcached整合所有相关jar 步骤地址:http://blog.csdn.net/qierkang/article/details/52873541
- **整合Nginx与Tomcat**:按照Nginx+Tomcat整合文档,配置Nginx以反向代理到多个Tomcat实例,并实现session共享。 - **测试验证**:创建多台Tomcat实例,配置好MSM,然后通过Nginx访问应用,检查session是否能在...
最后,提供的压缩包文件`nginx+tomcat+memcached`可能包含了上述所有组件的配置文件、jar包和安装脚本,帮助用户快速搭建和测试这样的系统。在部署时,务必根据实际网络环境和服务器配置进行适当的调整,确保所有...
手把手教你搭建https服务器,部署ssl证书到php java服务器(Nginx-Apache PHP-Tomcat java+SSL证书) 1.购买免费的SSL证书 2.下载SSL证书 3.往nginx上新增ssl 4.往Apache上新增ssl 5.往Tomcat上新增ssl 6.解决警告 7....
描述中提到的“nginx+tomcat8+memcached session共享所需jar包,直接放到tomcat/lib下即可”,暗示了实现这一功能需要一些特定的Java库(JAR包)。这些JAR包将集成到Tomcat的运行环境中,使Tomcat能够与Memcached...
### CentOS 6.5 + JDK 1.7 + MySQL 5.5 + Tomcat 7 + Nginx 1.7 安装手册 #### 一、JDK 1.7 安装 ##### 1.1 下载JDK 1.7 - 访问Oracle官方下载页面:...
1,tomcat8的配置: 1.1修改tomcat8.x/conf/context.xml的配置如下: <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license ...
Windows+Nginx+Memcached+Tomcat6负载均衡
标题 "nginx+tomcat7+jdk1.7+redis--jar.rar" 提示我们这是一个关于在Web服务器架构中集成Nginx、Tomcat7、Java 1.7和Redis的解决方案,特别是涉及到使用Redis作为Session缓存的配置。描述中强调了在下载和使用这些...
nginx-0.8.51下载 tomcat-6.0.20下载 pcre-8.12下载 2 环境描述 window7下运行的centos5.4的Vmware7虚拟机 nginx-0.8.51 tomcat-6.0.20 pcre-8.12 jdk-6u7-linux-i586 3 安装步骤 3.1 安装nginx所需的pcre ...
在本教程中,我们将深入探讨如何在Linux环境中源码安装MySQL、MySQL主从复制、Nginx、Nginx负载均衡、Redis、PHP、phpredis以及Tomcat。这些技术是构建高效、可扩展的Web应用架构的基础。让我们逐一了解安装过程。 ...
通过以上步骤,我们可以构建出一个高效、可靠的基于Tomcat 7、Nginx和Memcached的Web应用集群,有效地解决了session共享问题,实现了负载均衡,提高了系统的稳定性和性能。在实际操作中,可能还需要根据具体需求调整...
在构建高性能、高可用性的Web服务环境中,"负载均衡nginx+tomcat+terracotta+nfs+mysql"是一个常见的架构组合。这个组合充分利用了各组件的优势,以实现数据的高效处理、分布式存储以及会话共享,确保系统的稳定性和...
最新tomcat7+nginx/tengine+memcached共享session的jar包2016年12月自己更新使用,更新的jar包解决了tomcat7下attribute报错的问题,理论Tomcat8以上版本可用,请自己测试。 asm-5.1.jar kryo-4.0.0.jar kryo-...
在构建高性能、高可用性的Web服务时,"redis+tomcat+nginx负载均衡配置"是一个常见且有效的架构模式。这个组合充分利用了各个组件的优势,确保系统稳定、响应快速,并能够处理大量的并发请求。以下是关于这个配置的...
【标题】"tomcat7+memcached+nginx 集群架包(无ngnix架包)"指的是一个用于构建高性能、可扩展的Web应用集群的解决方案,但不包括nginx配置部分。在这个架构中,Tomcat7作为Java应用服务器处理HTTP请求,Memcached...