1 前言

1.1 目的

为了正确的部署“ngix+memcached”特编写此部署手册,使安装人员可以通过部署手册知道如何部署系统,也为需要安装该系统的安装人员正确、快速的部署本系统提供帮助。

1.2 总体架构图

当一个请求结束时,session会被送回Memcached进行备份。当下一次请求开始时,本地Session可用,直接服务,请求结束后,session又被送回Memcached备份。如果下一次请求会被路由到其他Tomcat上。负责处理此此请求的Tomcat并不清楚Session的信息。此时它会从Memcached查找该Session,更新该Session并将其保存在本机内容。此次请求结束,session被修改,送回Memcached备份。

1.2.1 术语1

1.2.2 术语2

2 安装环境要求

2.1 网络环境要求

网络带宽要求10M 到100M。

2.2 硬件环境要求

设备

主机名

配置

功能

1

PC服务器环境

CPU:2*8核(最小4C),内存:32GB(最小16GB)

应用服务器器A

2.3 软件环境要求

软件类型

软件名

版本号

相关说明

操作系统

Windows Server2008以上

Windows Server2008

64位

数据库

Oracle

11.0.2

中间件

Tomcat

8.0

JDK

JDK

1.8

3 基础软硬件系统安装

3.1 硬件拓扑

【编写提示:说明应用系统运行的硬件拓扑,应当包括硬件环境要求中列出的所有硬件设备。】

3.2 软件部署

主机名

操作系统

系统软件

部署的应用

Web应用服务器

Windows server 2008

Jdk1.8

Tomcat8.0

应用程序

数据库服务器

Windows server 2008

Oracle 11.0.2

数据库

4 安装部署过程

4.1 安装概述

1、安装Java

2、安装nginx

3、Nginx代理配置

4、安装memcached(可选)

5、配置tomcat

4.2 基于tomcat中间件的集群部署(Windows环境)

4.2.1 Memcached+tomcat+nginx

4.2.1.1 安装java

1)         点击jdk1.8.exe文件,进入安装界面,按照导航,一步步安装完毕

2)         配置环境变量

3)         验证jdk是否安装成功

CMD窗口输入java –version,如果出现上图,则表示jdk安装成功

4.2.1.2 Nginx的安装部署

1)         下载nginx,并解压

2)         启动nginx

在命令窗口进入到nginx的解压目录(路径不能包含中文),运行以下命令:

start niginx

启动成功后,可以通过nginx –t查看nginx是否启动成功

如果出现上述successful,则代表启动成功

3)         配置nginx.conf文件,增加以下代码段

upstream 127.0.0.1 {

#设定负载均衡的服务器列表

ip_hash;

#同一机器在多网情况下,路由切换,ip可能不同 #weigth参数表示权值,权值越高被分配到的几率越大

server 127.0.0.2:8080 weight=1 max_fails=20 fail_timeout=600s;

server 127.0.0.3:8080 weight=2 max_fails=20 fail_timeout=600s;

……

#此处省略server,有几个server,就添加几个

}

map $http_upgrade $connection_upgrade {

default upgrade;

'' close;

}

server {

listen 80;

server_name 127.0.0.1;

charset UTF-8;

#设定本虚拟主机的访问日志

access_log  logs/host.access.log  main;

#对 "/" 所有应用启用负载均衡

location / {

proxy_pass http://127.0.0.1;

#保留用户真实信息

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

index  index.html index.htm index.aspx demo.jsp;

}

}

以上配置文件有5个地方需要修改,已用黄色进行标志

①   upstream 127.0.0.1                            设置upstream的名称

②   ip_hash;      设置是否进行ip映射,关闭则前面加#,设置后同一个session访问同一台服务器

③   server 127.0.0.2:8080             设置代理的服务器IP,可以为多个

④   server_name 127.0.0.1                    与①设置的名称要保持一致

⑤   proxy_pass http://127.0.0.1;                    设置访问的ip地址

index  index.html index.htm index.aspx demo.jsp    设置访问页地址

4.2.1.3 memcached的安装部署(选装)

安装前提:如果nginx的步骤ip_hash设置了,则此步骤可以不用安装。

在此解释下为什么ip_hash设置后,不用安装memcached了,因为nginx做ip_hash之后,同一个session的请求会发往同一台服务器。假如不设置,则会发往不同的应用服务器,造成session不同步。

1) 安装memcached

下载memcached,并解压,右键以管理员身份打开cmd命令,进入解压目录,并运行以下启动命令:

memcached.exe –d install

2) 启动memcached

进入到memcached解压目录,运行以下命令:

memcached.exe –p 11211 –d start

其中11211为memcached的默认端口,启动成功后,在任务管理器中可以查看到,也可以在服务中查看到该服务,如下图:

4.2.1.4 TOMCAT的集群部署(memcached部署可选,步骤1和2为memcached安装启动后操作,若未安装,则不用执行步骤1和2)

1) 将session共享需要的依赖包放到tomcat的lib文件夹下

2) 配置TOMCAT的memcached的关联

3) 应用服务器部署tomcat

在大于等于2台的应用服务器部署tomcat,启动tomcat

4) 执行nginx的刷新命令

进入nginx的解压路径,执行nginx –s reload

5) 在浏览器输入网址:

http://nginx服务器地址/首页地址

4.2.1.5 测试是否正确安装

1、修改完后,重新reload  nginx:nginx -s reload

2、添加测试jsp:demo.jsp

3、启动所有的tomcat

4、打开web浏览器,测试

 注意:因某些限制,最新源代码和后续通用配置实现数据抽取 已放置在笔者公众号上,请关注微信公众号: 大喇叭学数据库, 回复关键字:【ngix】,获取本例安装程序


tomcat+memcached+nginx部署文档(附完整部署包直接运行即可)的更多相关文章

  1. python3.6环境部署文档

    python3.6环境部署文档   内容 Linux部署Python3.6环境 Mac部署Python3.6环境 Window10部署Python3.6环境 Pycharm安装 1. Linux部署P ...

  2. 部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot)

    部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot) 1.基础环境********************************************** ...

  3. 2022最新IntellJ IDEA的zheng开发部署文档

    目录 前景提示 一.环境整合 构建工具(参考工具部署方式) 二.git 导入编译器 三.模块描述浅析 四.配置文档 1.总配置 2.数据库配置 3.密码设置 4.配置建议 五.在IDEA中执行MySQ ...

  4. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  5. keepalived双机热备,安装部署文档

    keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...

  6. supervisor 部署文档

    supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...

  7. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  8. Flink 部署文档

    Flink 部署文档 1 先决条件 2 下载 Flink 二进制文件 3 配置 Flink 3.1 flink-conf.yaml 3.2 slaves 4 将配置好的 Flink 分发到其他节点 5 ...

  9. elk实战分析nginx日志文档

    elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...

  10. PPTP部署文档

    PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...

随机推荐

  1. python类型-序列-字符串

    python中单引号和双引号的含义是一样的.字符串是一种直接量或者说是一种标量,是不可变类型,字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序的访问. python实际有三类字符串:通常意 ...

  2. SpringBoot配置嵌入式Servlet容器

    1).如何定制和修改Servlet容器的相关配置: 1.修改和server有关的配置(ServerProperties[也是EmbeddedServletContainerCustomizer]): ...

  3. 每天玩转3分钟 MyBatis-Plus - 5. 高级查询(三)(条件构造器)

    每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一) 每天玩转 ...

  4. Python中关于__main__变量的问题

    在Python代码的编写中,经常会用到这么一句: if __name__ == "__main__": .... 这句代码之前的语句在整个模块被其他文件调用的时候会被运行,而这句代 ...

  5. STM32学习笔记:基础例子

    本例子代码参考了STM32库开发实战指南中的代码,由于使用的板子是尚学STM32F103ZET6,为了配合板上已有资源,也参考了其配套代码.为了便于书写文本,我尽量将代码都写到了一个文件中,这种方式是 ...

  6. Java小白入门:聊聊Java这门编程语言

    一.什么叫做编程 首先我们应该了解一下什么叫做编程. 百度百科词条的解释: 编程是编定程序的简称,是让计算机代我们解决某个问题,是对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终 ...

  7. GitHub Pages 与 Gitee Pages 上的 Jekyll

    GitHub 与 Gitee 提供的 Pages 服务中,均内嵌了 Jekyll 支持(Gitee 还提供了 Hugo 与 Hexo 支持).所谓「支持」,即指这些生成工具挂在云端:你只需要提供原始代 ...

  8. Docker基础内容之镜像构建

    前言 Docker可以通过读取Dockerfile中的指令来自动构建图像.Dockerfile是一个文本文档,包含用户可以在命令行上调用的所有命令来组装一个图像.使用docker构建用户可以创建一个自 ...

  9. 使用shiro 框架 报错No WebApplicationContext found: no ContextLoaderListener or DispatcherServlet registered?

    1.问题描述:ssm 框架中使用shiro  中出现问题 原来web.xml 文件如下: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, ...

  10. JSTL (标准标签库)

    JSTL(标准标签库) 作用: Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性.维护性和方便性. 使用方法:J ...