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集群,同理 ...
随机推荐
- cmd设置电脑自动关机
cmd设置电脑自动关机 设置:(3600代表一小时,单位s) shutdown -s -t 3600 取消 shutdown -a
- 解决设置了display:none的元素,会先展示再隐藏
问题:元素明明设置了display:none,但是在刷新页面的时候却会先显示了出来,然后才会隐藏,实现display:none 原因:由于元素渲染的时候,样式还没有应用上去,导致的 解决办法:使用内联 ...
- Django 之form简单应用
form组件 参考链接:https://www.cnblogs.com/maple-shaw/articles/9537309.html form组件的作用: 1.自动生成input框 2.可以对数据 ...
- 不重启linuxVMWare虚拟机添加虚拟光驱、硬盘
方法/步骤1: VMware找到要添加虚拟光驱位置,先右击点击设置,如图所示: 步骤2: 出现此界面之后点击添加: 步骤3: 直接点击下一步,如下图所示: 点击完成,天机硬盘就完毕了. 磁盘添加完成, ...
- 计算机基础与python入门
一.计算机.cpu与存储器 二.操作系统.编程语言及编写python.变量 三.数据类型.输入输出及基本运算 四.流程控制之if判断.while与for循环 一.计算机.cpu与存储器 1. 什么是编 ...
- Centos7 docker、harbor 安装配置
Docker 安装 wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo wget ...
- linux——常用命令
学习linux命令地址: 学习命令地址,可参考http://linux.51yip.com/ 在文件中搜索指定字符串 grep -i "requirepass" redis.con ...
- PostScript
https://baike.baidu.com/item/PostScript/2192822?fr=aladdin PostScript是一种编程语言,最适用于列印图像和文字(无论是在纸.胶片或非物 ...
- docker学习内容
有个博客写的蛮好的,转一下 https://blog.csdn.net/xiaochendefendoushi/article/details/80979905 等我用到的时候再仔细瞧瞧
- setTimeout,promise,promise.then, async,await执行顺序问题
今天下午看了好多关于这些执行顺序的问题 经过自己的实践 终于理解了 记录一下就拿网上出现频繁的代码来说: async function async1() { console.log('async1 ...