nginx和tomcat 反向代理 部署实例 直接运行
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浏览器,测试
注意:因某些限制,最新源代码和后续通用配置实现数据抽取 已放置在笔者公众号上,请关注微信公众号: 大喇叭学数据库, 回复关键字:【nginx】,获取本例安装程序
nginx和tomcat 反向代理 部署实例 直接运行的更多相关文章
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访问量并不是很大,基于这个 ...
- nginx反向代理部署vue项目(history模式)的方法
前言: 根据标题我们要区分出两个信息 1. history 模式部署 ( vue的路由模式如果使用history,刷新会报404错误.) 2. Nginx 做反向代理 问题1思考: vue-route ...
- Nginx之搭建反向代理实现tomcat分布式集群
参考博文: Nginx反向代理实现Tomcat分布式集群 1. jdk 安装 jdk 下载网址: http://www.oracle.com/technetwork/java/javase/downl ...
- nginx反向代理部署springboot项目报404无法加载静态资源
问题:nginx反向代理部署springboot项目报404无法加载静态资源(css,js,jpg,png...) springboot默认启动端口为8080,如果需要通过域名(不加端口号)直接访问s ...
- 五、Nginx多Server反向代理配置
Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. server_name的匹配顺序 Nginx中的s ...
- Nginx 之六: Nginx服务器的反向代理功能
一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...
- nginx 为什么要反向代理 影藏后端 高效连接(给nginx,他自己返回) 端口冲突解决 多个服务
nginx 为什么要反向代理 影藏后端 高效连接(给nginx,他自己返回) 端口冲突解决 多个服务 单机使用反向代理可以根据不同url匹配到不同站点 rsync 的工作原理和应用实例 ...
- Nginx介绍与反向代理
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...
- 【转】Nginx服务器的反向代理proxy_pass配置方法讲解
[转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲Nginx的配置还是比较简单的, ...
- nginx是一个反向代理的软件
nginx只是一个反向代理的软件,和语言无关,理论上支持任何Web平台,当然http://Asp.net也不例外,http://51aspx.com就是http://Asp.net开发的,前端暴漏的是 ...
随机推荐
- SpringCloud-Gateway搭建保姆级教程
一.网关介绍 1.什么是网关? 使⽤服务⽹关作为接⼝服务的统⼀代理,前端通过⽹关完成服务的统⼀调⽤ 2.⽹关可以⼲什么? 路由:接⼝服务的统⼀代理,实现前端对接⼝服务的统⼀访问 过滤:对⽤户请求进⾏拦 ...
- .NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(下)
18 | 日志框架:聊聊记日志的最佳姿势 除了使用 CreateLogger 指定 logger 的名称,实际上还可以借助容器来构造 logger,通常情况下我们会定义自己的类 namespace L ...
- NC18985 数字权重
题目链接 题目 题目描述 小a有一个n位的数字,但是它忘了各个位上的数是什么,现在请你来确定各个位上的数字,满足以下条件: 设第i位的数为ai,其中a1为最高位,an为最低位,K为给定的数字 不含前导 ...
- NC23413 小A买彩票
题目链接 题目 题目描述 小A最近开始沉迷买彩票,并且希望能够通过买彩票发家致富.已知购买一张彩票需要3元,而彩票中奖的金额分别为1,2,3,4元,并且比较独特的是这个彩票中奖的各种金额都是等可能的. ...
- EmuELEC 4.3 安装和乐视手柄 LeWGP-201 evremap问题解决
一年多前安装了EmuELEC3.9之后, 就一直没有再更新过, 平时玩玩小游戏也很正常. 昨天心血来潮想把吃灰的乐视手柄用起来, 结果发现3.9里面没有evremap 命令. 猜测可能是这个版本的问题 ...
- 【Android】使用Binder实现进程间传递对象案例
1 前言 使用AIDL实现进程间通讯简单案例 和 使用AIDL实现进程间传递对象案例 中介绍了使用 AIDL 进行进程间通讯,其本质仍然是Binder,aidl 文件对应生成的接口中,将服务端调用的抽 ...
- Java控制语句
1.介绍 从本质上讲,程序是一系列指令.控制结构是可以改变我们如何执行这些指令的代码块. 在本教程中,我们将探讨Java中的控制结构. 有三种控制结构: 条件分支,用于在两条或多条路径之间进行选择.J ...
- cf的几道小题
1.E - Fridge 教训:做题的时候,没有想清楚问题,把问题复杂化了 #include <bits/stdc++.h> #define int long long using nam ...
- BUU PWN RIP1 RET2CODE WRITEUP
1.下载附件后,运行是一个输入程序,IDA分析main函数,gets可溢出. F5伪代码如下: int __cdecl main(int argc, const char **argv, const ...
- 【学习笔记】 - 基础数据结构 :Link-Cut Tree
发现树剖代码太长了,给我恶心坏了 学个代码短点的能写树剖题的数据结构吧 前置知识 平衡树splay 树链剖分 简介以及优缺点介绍 Link-Cut Tree,也就是LCT,一般用于解决动态树问题 Li ...