参考博文: 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分布式集群的更多相关文章

  1. apache+tomcat分布式集群搭建

    今天搭建apche+tomcat分布式集群,遇到很多问题,在网上找到的很多都不成功,然后和同事一起研究了一下,最终搭建成功了.做个笔记,以备自己以后参考. 1,下载apache.在下载Apache(2 ...

  2. 基于hadoop2.6.0搭建5个节点的分布式集群

    1.前言 我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNode+HA.ResourceManager+HA,并使用zookeeper来管理Hadoop集群 2.规划 1.主 ...

  3. 搭建hbase1.2.5完全分布式集群

    简介 有一段时间,没写博客了,因为公司开发分布式调用链追踪系统,用到hbase,在这里记录一下搭建过程 1.集群如下: ip 主机名 角色 192.168.6.130 node1.jacky.com ...

  4. 摘要: CentOS 6.5搭建Redis3.2.8伪分布式集群

    from https://my.oschina.net/ososchina/blog/856678     摘要: CentOS 6.5搭建Redis3.2.8伪分布式集群 前言 最近在服务器上搭建了 ...

  5. Hadoop(二)CentOS7.5搭建Hadoop2.7.6完全分布式集群

    一 完全分布式集群(单点) Hadoop官方地址:http://hadoop.apache.org/ 1  准备3台客户机 1.1防火墙,静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略,参考 ...

  6. CentOS7.5搭建Hadoop2.7.6完全分布式集群

    一 完全分布式集群搭建 Hadoop官方地址:http://hadoop.apache.org/ 1  准备3台客户机 1.2 关闭防火墙,设置静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略 ...

  7. 搭建Hadoop2.7.1的分布式集群

    Hadoop 2.7.1 (2015-7-6更新),hadoop的环境配置不是特别的复杂,但是确实有很多细节需要注意,不然会造成许多配置错误的情况.尽量保证一次配置正确防止反复修改. 网上教程有很多关 ...

  8. # 从零開始搭建Hadoop2.7.1的分布式集群

    Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常 ...

  9. windows下nginx+tomcat分布式集群部署

    首先官网下载  http://nginx.org/en/download.html,我的本地环境为 实现的架构: 从图上可以看出,nginx作为负载均衡请求分发器,当请求A应用时候,分发到A集群,同理 ...

随机推荐

  1. git 操作实践

    git操作: - git是一个用于帮助用户实现版本控制的软件 #首先创建项目 1. cd到项目文件目录 2. 鼠标右键点击 Git Bash Here 3. git init #在项目文件目录生成 . ...

  2. js对象中属性调用.和[] 两种方式的区别

    JS 调用属性一般有两种方法——点和中括号的方法. 标准格式是对象.属性(不带双引号),注意一点的是:js对象的属性,key标准是不用加引号的,加也可以,特别的情况必须加,如果key数字啊,表达式啊等 ...

  3. shell脚本——字符串

    printf printf "%-10s %-10s %-10s\n" NO Name    Height printf "%-10s %-10s %-10d\n&quo ...

  4. 【Day3】5.Python中的lxml模块

    import lxml.etree as le with open('edu.html','r',encoding='utf-8') as f: html = f.read() html_x = le ...

  5. Django项目实战—用户头像上传

    1 将文件保存到服务器本地 upload.html <!DOCTYPE html> <html lang="en"> <head> <me ...

  6. 利用Pycharm部署同步更新Django项目文件

    利用Pycharm部署同步更新Django项目文件 这里使用同步更新的前提是你已经在服务器上上传了你的Django项目文件. 在"工具(Tools)"菜单中找到"部署(D ...

  7. 关于postgres数据库部署之后,发现不能被外机连接解决办法

    数据库 部署完毕之后,用其他机器的navcat连接发现不能连接,如下报错信息 于是在数据库服务器上查询是否启动正常,端口是否正常,发现都没有问题,由于之前也遇到了mysql部署之后,不能被其他机器访问 ...

  8. PHP面试题--基础

    1.PHP语言的一大优势是跨平台,什么是跨平台?一.PHP基础: PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows.Linux等)上配置,不 ...

  9. Django:中间件与csrf

    一.中间件 什么是中间件 中间件有什么用 自定义中间件 中间件应用场景 二.csrf csrf token跨站请求伪造 一.中间件 什么是中间件 中间件顾名思义,是介于request与response ...

  10. java_变量和常量

    一.变量(可以改变的量) 1.命名规则: a.遵循标识符命名规则: 1.关键字是不能用作标识符的 2.区分大小写 3.可以包含数字.字母.下划线.美元符号$,但是不能以数字作为开头 b.尽量使用有意义 ...