tomcat+memcached+nginx部署文档(附完整部署包直接运行即可)
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) 在浏览器输入网址:
4.2.1.5 测试是否正确安装
1、修改完后,重新reload nginx:nginx -s reload
2、添加测试jsp:demo.jsp
3、启动所有的tomcat
4、打开web浏览器,测试
注意:因某些限制,最新源代码和后续通用配置实现数据抽取 已放置在笔者公众号上,请关注微信公众号: 大喇叭学数据库, 回复关键字:【ngix】,获取本例安装程序
tomcat+memcached+nginx部署文档(附完整部署包直接运行即可)的更多相关文章
- python3.6环境部署文档
python3.6环境部署文档 内容 Linux部署Python3.6环境 Mac部署Python3.6环境 Window10部署Python3.6环境 Pycharm安装 1. Linux部署P ...
- 部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot)
部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot) 1.基础环境********************************************** ...
- 2022最新IntellJ IDEA的zheng开发部署文档
目录 前景提示 一.环境整合 构建工具(参考工具部署方式) 二.git 导入编译器 三.模块描述浅析 四.配置文档 1.总配置 2.数据库配置 3.密码设置 4.配置建议 五.在IDEA中执行MySQ ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- keepalived双机热备,安装部署文档
keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...
- supervisor 部署文档
supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...
- HP DL160 Gen9服务器集群部署文档
HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server Memo ...
- Flink 部署文档
Flink 部署文档 1 先决条件 2 下载 Flink 二进制文件 3 配置 Flink 3.1 flink-conf.yaml 3.2 slaves 4 将配置好的 Flink 分发到其他节点 5 ...
- elk实战分析nginx日志文档
elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...
- PPTP部署文档
PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...
随机推荐
- 如何使用F4的IRAM2内存
在使用KEIL做F4的项目的时候发现RAM区有片上IRAM2选项,查了datesheet后发现这块是CCM内存区 CCM内存是在地址0x1000000映射的64KB块,只提供CPU通过数据D总线进行访 ...
- session跨域丢失问题
配置一个 filter package com.psm.filter; import javax.servlet.*; import javax.servlet.http.HttpServletReq ...
- PHP——数组
数组的定义 数组能够在单个变量中存储多个值. 创建空数组: $arr = array();//表示创建一个空数组,并把创建的空数组赋值给变量$arr 数值数组 自动分配 ID 键(ID 键总是从 0 ...
- 【java面试】框架篇之Spring
1.你如何理解Spring? 具体来说Spring是一个轻量级的容器,用于管理业务相关对象的.核心功能主要为:IOC,AOP,MVC. IOD:控制反转,将对象的创建过程交给容器,让容器管理对象的生命 ...
- 【转载】Notepad++源码分析
在网上发现了一个哥们写了关于Notepad++源码的文章,不过就写了一就没有了,我就接着他的工作再说说吧! 大三了,也写了一点儿程序了,但是如果只是按照自己的思路写下去恐怕难以提高,于是准备开始阅读一 ...
- JavaScript(2)---DOM详解
JavaScript(2)---DOM详解 一.DOM概念 什么是DOM DOM全称为文本对象模型(Document Object Model),它定义了所有HTML元素的对象和属性,以及访问他们的方 ...
- 对于传统scnece-classfication的分析
BoW模型最初应用于文本处理领域,用来对文档进行分类和识别.BoW 模型因为其简单有效的优点而得到了广泛的应用.其基本原理可以用以下例子来给予描述.给定两句简单的文档: 文档 1:“我喜欢跳舞,小明也 ...
- linux--->ab测试工具使用
ab测试工具使用 ab简介 是apache自带的压力测试工具.其原理是ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,它既可以用来测试ap ...
- EXCEL的VBA(宏)编程
EXCEL的VBA编程 杨康需要我完成的需求 第一列是名称 第二列是甲方账户 第三列是甲方金额 第四列是乙方账户 第五列是乙方金额 第六列是true或false 第七列备注 需求 开始时数据对齐的,如 ...
- 最短路径-Dijkstra+Floyd+Spfa
Dijkstra算法: Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra ...