Nginx之搭建反向代理实现tomcat分布式集群
参考博文: Nginx反向代理实现Tomcat分布式集群
1. jdk 安装
jdk 下载网址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
执行如下:
# cd /usr
# mkdir java
# cp /xx/jdk-8u171-linux-x64.tar.gz /usr/java/
# cd /usr/java
# tar -zxvf jdk-8u171-linux-x64.tar.gz
# ln -s /usr/java/jdk1.8.0_171/ /usr/jdk
这样就安装好了,接下来配置环境变量:vim /etc/profile,添加如下内容:
JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
执行命令:source /etc/profile
然后查看安装情况:java -version:
java version "1.7.0_181"
OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-0ubuntu0.1)
OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)
2. 安装 tomcat
源码下载: http://tomcat.apache.org/download-80.cgi
执行如下:
# tar -zxvf apache-tomcat-8.5.31.tar.gz
# mkdir /usr/local/tomcat-cluster
# cp -r apache-tomcat-8.5.31 /usr/local/tomcat-cluster/tomcat01
# cp -r apache-tomcat-8.5.31 /usr/local/tomcat-cluster/tomcat02
# cd /usr/local/tomcat-cluster/
tomcat01 仍然使用默认的 8080 端口,修改 tomcat02 的端口号:
cd tomcat02
vim conf/server.xml
将 Connector port 由 8080 改为 8081,同时将 Server Port 由 8005 改为 8006。
为了区分不同的 tomcat 更改 tomcat02 中的 index.jsp:
vi tomcat02/webapps/ROOT/index.jsp
可修改 "If you're seeing this,..." 这条语句。
启动 tomcat01 和 tomcat02:
# tomcat01/bin/startup.sh
# tomcat02/bin/startup.sh
使用浏览器访问 tomcat01:

使用浏览器访问 tomcat02:

3. 配置 nginx
配置、编译:
./configure --prefix=/home/rong/samba/nginx-1.13.2/tmp --pid-path=/home/rong/samba/nginx-1.13.2/tmp/var/nginx.pid --lock-path=/home/rong/samba/nginx-1.13.2/tmp/var/lock/nginx.lock --error-log-path=/home/rong/samba/nginx-1.13.2/tmp/var/log/error.log --http-log-path=/home/rong/samba/nginx-1.13.2/tmp/var/log/access.log --with-http_gzip_static_module --http-client-body-temp-path=/home/rong/samba/nginx-1.13.2/tmp/var/temp/client --http-proxy-temp-path=/home/rong/samba/nginx-1.13.2/tmp/var/temp/proxy --http-fastcgi-temp-path=/home/rong/samba/nginx-1.13.2/tmp/var/temp/fastcgi --http-uwsgi-temp-path=/home/rong/samba/nginx-1.13.2/tmp/var/temp/uwsgi --http-scgi-temp-path=/home/rong/samba/nginx-1.13.2/tmp/var/temp/scgi
make
make install
配置 nginx.conf 实现反向代理 comcat 集群:
worker_processes 1;
events {
use epoll;
worker_connections 1024;
}
daemon off;
master_process off;
error_log stderr debug;
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream rong {
server 192.168.56.101:8080;
server 192.168.56.101:8081;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://rong;
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
该配置仅使用 upstream 的轮询机制。
由于没有域名,直接使用本机的 ip 进行访问:

这里的访问是随机的,当前访问到的是 tomcat01,刷新后可能访问到 tomcat02。
Nginx之搭建反向代理实现tomcat分布式集群的更多相关文章
- apache+tomcat分布式集群搭建
今天搭建apche+tomcat分布式集群,遇到很多问题,在网上找到的很多都不成功,然后和同事一起研究了一下,最终搭建成功了.做个笔记,以备自己以后参考. 1,下载apache.在下载Apache(2 ...
- 基于hadoop2.6.0搭建5个节点的分布式集群
1.前言 我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNode+HA.ResourceManager+HA,并使用zookeeper来管理Hadoop集群 2.规划 1.主 ...
- 搭建hbase1.2.5完全分布式集群
简介 有一段时间,没写博客了,因为公司开发分布式调用链追踪系统,用到hbase,在这里记录一下搭建过程 1.集群如下: ip 主机名 角色 192.168.6.130 node1.jacky.com ...
- 摘要: CentOS 6.5搭建Redis3.2.8伪分布式集群
from https://my.oschina.net/ososchina/blog/856678 摘要: CentOS 6.5搭建Redis3.2.8伪分布式集群 前言 最近在服务器上搭建了 ...
- Hadoop(二)CentOS7.5搭建Hadoop2.7.6完全分布式集群
一 完全分布式集群(单点) Hadoop官方地址:http://hadoop.apache.org/ 1 准备3台客户机 1.1防火墙,静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略,参考 ...
- CentOS7.5搭建Hadoop2.7.6完全分布式集群
一 完全分布式集群搭建 Hadoop官方地址:http://hadoop.apache.org/ 1 准备3台客户机 1.2 关闭防火墙,设置静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略 ...
- 搭建Hadoop2.7.1的分布式集群
Hadoop 2.7.1 (2015-7-6更新),hadoop的环境配置不是特别的复杂,但是确实有很多细节需要注意,不然会造成许多配置错误的情况.尽量保证一次配置正确防止反复修改. 网上教程有很多关 ...
- # 从零開始搭建Hadoop2.7.1的分布式集群
Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常 ...
- windows下nginx+tomcat分布式集群部署
首先官网下载 http://nginx.org/en/download.html,我的本地环境为 实现的架构: 从图上可以看出,nginx作为负载均衡请求分发器,当请求A应用时候,分发到A集群,同理 ...
随机推荐
- easyUi 的form和validate组件
以下代码不能运行,只是我在学习过程中记录的笔记,但代码可以用!!! 可以按照需要截取. <%@ page language="java" contentType=" ...
- Python的Struct模块
python strtuct模块主要在Python中的值于C语言结构之间的转换.可用于处理存储在文件或网络连接(或其它来源)中的二进制数据. #!/usr/bin/env python # -*- c ...
- vue+element-ui 项目中实现复制文字链接功能
需求: 点击复制按钮,复制一个链接 在GitHub上找到一个clipboard组件,功能比较齐全 使用方法: 安装 npm i clipboard --save HTML <template ...
- 使用pycharm 编写代码 并在远程主机上运行
一 要求 远程主机有python解释器 二 在菜单栏,File -> Settings… -> Project ×× -> Project Interpreter,点击右侧 Add按 ...
- 智能指针原理及实现(2)unique_ptr
只允许基础指针的一个所有者. 可以移到新所有者(具有移动语义),但不会复制或共享(即我们无法得到指向同一个对象的两个unique_ptr). 替换已弃用的 auto_ptr. 相较于 boost::s ...
- idea启动卡死,项目界面一直processing
1 原因 因为上次退出项目,非正常退出,导致索引生成有问题. 2 解决办法 删除项目根目录下 .idea文件夹,然后重新打开,重新indexing生成索引文件
- Java重写(Override)与重载(Overload)
方法的重写规则 参数列表必须完全与被重写方法的相同: 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同): ...
- linux——目录说明
1) bin -> usr/bin : 这个目录存放最经常使用的命令 2) boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件 3) dev: de ...
- Pycharm Community 配置 Django 开发环境
1. 安装数据库可视化工具 Database Navigator 2. 括号匹配高亮工具 HighlightBracketPair (...) Web 开发放弃 Pycharm Community 版 ...
- linux和unix下crontab的使用
在LINUX中,周期执行的任务一般由cron这个守护进程来处理 [ps -ef | grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为 ...