Nginx+Tomcat-cluster构建
-----------ReProxy-------------------------Client-----------
192.168.56.202 nginx 192.168.56.200 Tomcat
|
192.168.56.201 Tomcat
1、配置Tomcat:注:Client 两个客户端配置相同
安装JDK
[root@localhost ~]# tar -zxvf jdk-7u65-linux-x64.gz
[root@localhost ~]# mv jdk1.7.0_65/ /usr/local/java
[root@localhost ~]# which java
[root@localhost ~]# rm -rf /usr/bin/java //删除redhat集成的java
[root@localhost ~]# ln -s /usr/local/java/bin/* /usr/bin/
[root@localhost ~]# java -version
[root@localhost ~]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
[root@localhost ~]# source /etc/profile.d/java.sh
[root@localhost ~]# echo $PATH
[root@localhost ~]# java -version
安装Tomcat
[root@localhost ~]# tar -zxvf apache-tomcat-7.0.54.tar.gz
[root@localhost ~]# mv apache-tomcat-7.0.54 /usr/local/tomcat7
[root@localhost ~]# /usr/local/tomcat7/bin/startup.sh
[root@localhost ~]# netstat -anput | grep 8080
[root@localhost ~]# mkdir -p /web/benet
[root@localhost ~]# vim index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title> JSP test1 page</title>
</head>
<body>
<% out.println("Welcome to test site,http://www.test1.com");%>
</body>
</html>
[root@localhost ~]# vim /usr/local/tomcat7/conf/server.xml
Host标签内添加:
<Context docBase="/web/benet" path="" reloadable="false">
</Context>
[root@localhost ~]# /usr/local/tomcat7/bin/shutdown.sh //关闭服务
[root@localhost ~]# /usr/local/tomcat7/bin/startup.sh //开启服务
2、配置Nginx反向代理
安装Nginx
[root@localhost ~]# yum install pcre-devel zlib-devel -y
[root@localhost ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost ~]# make && make install
[root@localhost ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
[root@localhost ~]# nginx -t //初始化nginx
[root@localhost ~]# nginx //启动Nginx
[root@localhost ~]# netstat -anput | grep 80
[root@localhost ~]# vim nginx.conf
动静分离:
location ~ \.jsp$ {
proxy_pass 192.168.56.200:8080;
}
测试:http://192.168.56.202 访问Nginx提供的静态页面
http://192.168.56.202/index.jsp 访问Tomcat提供的JAVA动态页面
Tomcat集群cluster:
http模块内--定义服务器
upstream myCluster {
server 192.168.56.200:8080 weight=5;
server 192.168.56.201:8080;
}
server模块内--定义集群
location ~ \.jsp$ {
proxy_pass http://myCluster; //于上面cluster定义名称相同
proxy_redirect off;
proxy_set_header Host $host; //返回主机名
proxy_set_header X-Real-IP $remote_addr; //真实ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; //启动转发
}
测试:http://192.168.56.202/index.jsp 刷新页面后会反复出现server1和server2
Nginx+Tomcat-cluster构建的更多相关文章
- Tomcat cluster and session
Cluster and session session consistency (1) session sticky source_ip: nginx: ip_hash haproxy: source ...
- Nginx+Tomcat构建动、静分离WEB架构
一.简介 二.环境介绍 三.后端服务器安装配置 四.安装论坛 五.安装配置前端Nginx服务器 六.验证服务 一.Tomcat简介 Tomcat是Apache 软件基金会(Apache Softwar ...
- 基于nginx tomcat redis分布式web应用的session共享配置
一.前言 nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.web server负载均衡等功能,由于其轻量级.高性能.高可靠等特点在互联网项目中有着非常普遍的应用,相关 ...
- Tomcat负载均衡、调优核心应用进阶学习笔记(三):LNMT nginx+tomcat、LAMT apache+tomcat、session会话保持、不错的站点
文章目录 LNMT nginx+tomcat LAMT apache+tomcat 基于mod_proxy 单节点 配置基于mod_proxy的负载均衡 基于mod_jk(需要编译安装) 单节点 配置 ...
- nginx+tomcat集群配置(3)---获取真实客户端IP
前言: 在初步构建的nginx+tomcat服务集群时, 发现webserver获取到的客户端ip都是同一个, 皆为作为反向代理服务的nginx所在的机器IP. 这不太符合我们的基本需求, 为将来的数 ...
- 征服 Nginx + Tomcat
2年前一直折腾Apache,现如今更习惯Nginx. 搭建网站又遇到2年前遇到的问题——Session同步. (参考我以前的帖子——征服 Apache + Tomcat)只不过现今担当负载均衡的Apa ...
- linux+nginx+tomcat负载均衡,实现session同步
linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞 ...
- 征服 Nginx + Tomcat【转】
征服 Nginx + Tomcat Server Architecture/Distributed nginxtomcatsessioncluster 2年前一直折腾Apache,现如今更习惯Ngi ...
- LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)
一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Red ...
- Nginx+Tomcat+MemCached 集群配置手册
系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目 录 第1章 概述 1.1 目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...
随机推荐
- 搭建私服-docker registry
Docke官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用.Docker仓库实际上提供两方 ...
- 使用ThreadLocal管理Mybatis中SqlSession对象
转自http://blog.csdn.net/qq_29227939/article/details/52029065 public class MybatisUtil { private stati ...
- C# 往Datatable中添加新行的步骤
以一个实例说明 //录入年份绑定 public void YearList(FineUIPro.DropDownList ddlYear) { //年份从15年到当前年//起止年份 ; int yea ...
- Vue+min-width实现最大两栏布局
<style> .fitting-Modal-details{ overflow: hidden; } .detailsContent{ float: left; min-width: 5 ...
- Spring boot 将配置文件属性注入到一个bean中
现在要做的就是将如下配置文件中的内容注入到一个bean 名为Properties中. Redis.properties配置文件中的内容如下: Properties java bean中代码如下,注意注 ...
- vue cli3 vue.config.js 配置详情
module.exports = { // 基本路径 baseUrl: process.env.NODE_ENV === 'production' ? '/' : '/', ...
- python爬虫之Phantomjs安装和使用
phantomjs: PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎.它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG. phantom ...
- Laravel 出现 No application encryption key has been specified.
若文件根目录下没有 .env 1..env.example 改名使用命令 copy 修改为 .env 2.使用命令 php artisan key:generate 获取密码,自动保存到 .env3 ...
- mysql定时任务event——清理过期数据
需要删除数据的表名:t_req_log 建表sql CREATE TABLE `t_req_log` ( `id` ) NOT NULL AUTO_INCREMENT, `host` ) DEFAUL ...
- Docker最全教程——从理论到实战
Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) Docker最全教程—— ...