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配 ...
随机推荐
- 信息: TLD skipped. URI: http://www.fusioncharts.com/jsp/core is already defined
二月 02, 2018 11:43:28 上午 org.apache.catalina.startup.TaglibUriRule body 信息: TLD skipped. URI: http:// ...
- (分块)GukiZ and GukiZiana CodeForces - 551E
题意: 给你一段序列,并且有两种操作 操作①:将序列中从l-r每个元素加上x 操作②:在序列中找到ai=aj=y,j-i的最大值,如果找不到则输出-1 思路: 直接分块暴力即可 对于区间加,普通标记加 ...
- 基于 HTML5 WebGL 的虚拟现实可视化培训系统
前言 2019 年 VR, AR, XR, 5G, 工业互联网等名词频繁出现在我们的视野中,信息的分享与虚实的结合已经成为大势所趋,5G 是新一代信息通信技术升级的重要方向,工业互联网是制造业转型升级 ...
- windows配置Lua开发环境
官网上下载的不靠谱,很多库不能用,你如 require "socket" 如果没有vc那些编译也麻烦,摸索了很久,直接下载安装文件安装即可: 安装这两个就行: 先安装C++2005 ...
- WPF另类实现摄像头录像
WPF中使用第三方控件来直接进行录像的控件没有找到(aforgenet好像不维护了?WPFMediaKit好像只能实现摄像头拍照.收费的控件没有使用,不做评论.) 通过百度(感谢:https://ww ...
- Spring Boot入门简介-Maven配置
一.简介 -- 简化Spring应用开发的一个框架: -- 整个Spring技术栈的一个大整合: -- J2EE开发的一站式解决方案. 二.背景: ① J2EE笨重的开发.繁多的配置.低下的开发效率. ...
- Pycharm如何快捷地交互式运行代码(>>>)
Pycharm如何快捷地交互式运行代码? 问题描述 在Pycharm直接一行行地交互运行已经写好的代码,不需要复制粘贴,怎么调出Pychram的交互式界面. 通过python自带的交互式界面 在搜索栏 ...
- Linux密码策略--设置随机密码
#!/bin/bash # @Author: HanWei # @Date: -- :: # @Last Modified by: HanWei # @Last Modified -- :: # @E ...
- 自学笔记系列:《Python学习手册 第五版》 -写在开始之前
今年双十一,在当当网上买了这本书,很厚很厚的一本书,大概有将近1700页左右,的确是一个“大工程”, 关于这本书的学习,我想采用一种博客的方式进行,既是写给自己,也想分享给每一个对Python学习感兴 ...
- ionic2的返回按钮的编辑问题
ionic2 返回按钮 首先可以在 app.module.ts 文件中配置. @NgModule 中的 imports 属性的 IonicModule.forRoot 第二个参数,如下: IonicM ...