为什么80%的码农都做不了架构师?>>>   

本文,是笔者工作之余写的,第一是把之前打系统框架的步骤记录下来。第二是将这个过程,谈不上经验,奉献给正在撘这种框架遇到各种bug,各种问题的人们。

看这个之前首先你需要已经用nginx+tomcat+session共享打过框架,但是没有成功,遇到种种问题。即可参考此文。文章比较简洁,但全是精华。

对了,本文是基于windows平台下的。

好了,言归正传!
——————————————————————————————————————————————————

  1. 下载Nginx ;下载地址:http://nginx.org/

  2. 下载tomcat;下载地址:http://tomcat.apache.org/download-60.cgi

  3. 下载memcached-win32

  4. 下载一扒拉Session共享所用的jar包

  1. Nginx下载解压之后得到这样的列表:

  2. 配置nginx.conf;新增proxy.conf和gzip.conf

  3. Nginx.conf

#Nginx所用用户和组,window下不指定
#user  niumd niumd;#工作的子进程数量(通常等于CPU数量或者2倍于CPU)
worker_processes  4;#错误日志存放路径
error_log  logs/error.log  info;#指定pid存放文件
pid        logs/nginx.pid;events {#使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue,window下不指定。#use epoll;#允许最大连接数worker_connections  2048;
}http {include       mime.types;default_type  application/octet-stream;access_log  logs/access.log;fastcgi_intercept_errors on;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;#keepalive_timeout  0;include    gzip.conf;include    proxy.conf;upstream localhost {#ip_hash;server localhost:18081 weight=3;server localhost:18080 weight=1;}server {listen       80;server_name  localhost;  #自定义40X或者50X页面的时候需要开启 fastcgi_intercept_errors on;(上面已经开启) error_page  404     http://127.0.0.1/404.html;#定义网站首页#root:定义网站首页存放地址#index:定义网站首页名称location / {   root D:/test; index main.html; } #定义静态资源存放地址location ~ \.(html|js|css|png|gif|jpg|jpeg|bmp)$ {   root D:/test; }#将jsp的请求转移到tomcat里面location ~ \.(jsp)$ {proxy_connect_timeout   3;proxy_send_timeout      30;proxy_read_timeout      30;proxy_pass http://localhost;}}
}

gzip.conf:

gzip               on;
gzip_min_length    1000;
gzip_types           text/plain text/css application/javascript application/x-javascript;

proxy.conf:

proxy_redirect          off;
proxy_set_header        Host $host;
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;

至此Nginx已经配置成功。双击目录下面的nginx.exe 即可打开。

访问127.0.0.1将显示你在Nginx.conf中配置的:

  location / {   root D:/test; index main.html; }

的main.html页面

由此看出,已经将静态资源文件分开。

2 . tomcat

我使用的是tomcat6.X;将tomcat拷贝2份,分别将tomcat的端口改变。如果不在同一台机子上则不用更改。以下列出更改的地方:

Conf\server.xml:

A:  <Server port="18005" shutdown="SHUTDOWN">

B:  <Connector port="18080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

C:  <Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />

D:     <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

jvmRoute="tomcat1"是做Session共享的时候使用的。

同理,配置tomcat2!

由于上面的Nginx.conf已经添加了两台tomcat所以,现在启动Nginx和tomcat 访问127.0.0.1/project/index.jsp  即能看出Nginx负载均衡,将请求分发到不同的tomcat中。

以上就是Nginx+tomcat负载均衡,百度一下这种一大堆!

  1. 安装memcached,并启动。

  2. a)         下载session共享需要的jar包

i.                  

配置context.xml文件,如下:

添加下面的代码:

<Manager       className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:127.0.0.1:11211" sticky="false" sessionBackupAsync="false" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|jpeg|bmp|css|js|html|htm)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />

经过上面的配置,则代表Nginx负载均衡,静态动态请求分开+tomcat集群+msm,session共享成功!!!

结果如下:

同一浏览器中:

不同浏览器中:

转载于:https://my.oschina.net/yuxj/blog/220012

Nginx负载均衡+tomcat+session共享相关推荐

  1. 解决nginx负载均衡的session共享问题

    之前有写过ubuntu环境下搭建nginx环境,今天来谈一下nginx session共享问题,查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享服务器有多台,用ngi ...

  2. nginx负载均衡的session共享问题的解决方法

    查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享 PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session ...

  3. nginx+tomcat+redis负载均衡及session共享

    概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.o ...

  4. Nginx+Tomcat+Redis负载均衡实现Session共享

    Nginx+Tomcat+Redis负载均衡实现Session共享 环境描述 tomcat1:192.168.194.100:18080 tomcat2:192.168.194.100:28080 N ...

  5. 从0开始,在Linux中配置Nginx反向代理、负载均衡、session共享、动静分离

    写这篇文章花费了我近一周的时间,参考网上许多优秀的博客文章,我不敢说写的很好,至少很全很详细.本文先介绍原理部分,然后再进行实战操作,我认为这样才会有更深的理解,不过这也导致了文章篇幅很长.但是,如果 ...

  6. Haproxy群集+Nginx负载均衡+Tomcat架构搭建

    文章目录 Haproxy群集+Nginx负载均衡+Tomcat 一.Nginx+Tomcat 1.tomcat1搭建 1)准备工作 2)安装JDK,配置tomcat环境变量 ①rpm安装JDK ②配置 ...

  7. nginx+tomcat+memcache实现负载均衡、session共享

    实验架构图: Table of Contents 1.配置tomcat 2.安装memcache 3.查看tomcat和memcache是否配置好 4.nginx实现负载均衡: 5.客户端进行测试: ...

  8. nginx和tomcat实现反向代理、负载均衡和session共享

    这类的文章非常多,nginx和tomcat实现反向代理.负载均衡实现非常easy,能够參照http://blog.csdn.net/liuzhigang1237/article/details/888 ...

  9. Nginx+MSM+Tomcat做负载均衡,session共享

    2019独角兽企业重金招聘Python工程师标准>>> 先上个架构图(个人理解是这个样子) 简单来说:服务器A上面部署一个Nginx反向代理服务器,MSM用于session共享,To ...

最新文章

  1. 特殊标记字段(#)实时富文本显示
  2. USB无法识别原因分析及解决方案
  3. 提高安全意识,保护自身安全
  4. vue 使用font-awesome
  5. Codeforces Beta Round #17 D. Notepad (数论 + 广义欧拉定理降幂)
  6. 【死磕Java并发】—–深入分析synchronized的实现原理
  7. 中国蚁剑(win32-x64)——安装报错:解压代码出错:[object Object]
  8. Python的这几个常用库,你会用吗?
  9. [综述泛读] A survey on web services composition (IJWGS, 2005)
  10. 二叉树前序,中序,后序遍历的迭代实现,实现思路及代码
  11. mschart走势图 vc_[VC] 解决MSChart闪烁的问题
  12. vue图片裁剪:使用vue-cropper做图片裁剪
  13. 如何坚持完成自己的目标和计划?
  14. Ubuntu解决RTNETLINK answers: File exists
  15. drcom宽带认证登录超时_DrCOM客户端常见问题解决方法
  16. 更改Ubuntu桌面环境
  17. 亲测微信活码裂变系统源码+解除限制/附安装说明
  18. TEM和CWEM的优缺点
  19. 如何定义日志消息的级别?详解日志的5个级别
  20. win10系统打不开计算机管理,win10任务管理器打不开如何处理_win10任务管理器打不开的解决办法...

热门文章

  1. 洛谷 P1049 装箱问题(01背包)
  2. NYOJ542-试制品
  3. 常用的前端辅助开发工具有哪些
  4. Oracle监听配置
  5. sublime Text3快捷键使用大全
  6. Linux系统下的文件管理类常命令及使用方式
  7. Gdiplus中实现双Buffer绘图
  8. Web服务器和应用程序服务器有什么区别
  9. C++报错无效的预处理命令include_无废话--Mac OS, VS Code 搭建c/c++基本开发环境
  10. java list 结构_Java中常见数据结构List之ArrayList