nginx+tomcat实现Windows系统下的负载均衡搭建教程

刚入行没多久就听过‘负载均衡'的大名,到现在因为工作接触的少,所以没什么太多的认识。但自己又对其非常的好奇,所以前两天通过查资料,在自己的笔记本上就搭建了一个超简单的案例(工作中没有时间,晚上到家了条件又不够,只能用自己的笔记本将就一下了,重在理解思想。。)

通俗点将,负载均衡就是因为访问流量太大,导致项目访问不流畅、甚至宕掉,所以通过一种分流的方式来缓解这种情况。

首先,安装两个tomcat,可以是同一个复制成两个,也可以下载两个不同版本的tomcat,我就是下载了两个不同版本的。下载地址:https://tomcat.apache.org/download-80.cgi

(这是8.0版本的,随便找两个不是特别老的版本的就行)。

然后启动两个tomcat,在启动前,先更改其中一个的端口号,使得两个tomcat启动时不会端口冲突,一个是本身的8080端口,一个是改成了9080端口。配好以后,打开cmd命令窗口,我的tomcat一个放在D:\software\apache-tomcat-8.5.24目录下,按照如下命令即可启动,启动成功会弹出另一个窗口,显示如下:

打开浏览器,输入http://localhost:9080/,出现如下界面即tomcat启动成功。另一个采用同样的步骤即可。

图1:tomcat8     图2:tomcat7

再之后,安装一个nginx,我装的是稳定版的nginx,下载地址:http://nginx.org/download/nginx-1.12.2.zip,解压即可使用

在启动前,必须要对nginx进行一下配置才可实现负载均衡的功能,打开conf文件夹,下面有一个nginx.conf文件,配置如下:

#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;

#以下四行是新添加的,两个IP是两个tomcat的访问地址,weight表示分给该服务器的请求比重,两个都是1,则按照1:1来分配,

upstream netitcast.com{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:9080 weight=2;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;

#一下两行是进行修改的,http://netitcast.com和上面添加的要保持一致

location / {
proxy_pass http://netitcast.com;
proxy_redirect default;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}

# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}

还是打开cmd窗口,进入到以上目录,执行命令:start nginx 即启动成功,然后输入网址:http://localhost/index.jsp,不断的进行访问,就会发现,上方显示的图1和图2在交互的显示。因为以上的配置weight是以1:2的比重来分配的,所以9080端口的比重就大一些,访问到图一(9080端口)的几率就比较大,访问到图二(8080端口)的几率比较小,这个概率一个是三分之二,一个是三分之一。

当然,这只是一个简单的示例,在生产环境中开发,肯定还要解决许多问题,比如‘会话保持'等,这个以后明白了再来补充。写这个的目的就是让自己对负载均衡更加熟悉,希望大家以后一起努力,加油!!!

您可能感兴趣的文章:

  • 详解基于Centos7+Nginx+Tomcat8的负载均衡服务器的搭建
  • 详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
  • nginx+tomcat实现负载均衡,使用redis session共享
  • Nginx与Tomcat实现动静态分离和负载均衡
  • Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解
  • linux下Nginx+Tomcat负载均衡配置方法
  • windows下nginx+tomcat配置负载均衡的方法
  • Debian下搭建Nginx和Tomcat服务器实现负载均衡的方案
  • Nginx+Tomcat搭建高性能负载均衡集群的实现方法
(0)

相关推荐

  • 详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南

    Nginx是一种服务器软件,也是一种高性能的http和反向代理服务器,同时还是一个代理邮件服务器.也就是说,我们在Nginx上可以发布网站,可以实现负载均衡(提高应答效率,避免服务器崩溃),还可以作为邮件服务器实现收发邮件等功能.而最常见的就是使用Nginx实现负载均衡. Nginx与其他服务器的性能比较: Tomcat服务器面向Java语言,是重量级的服务器,而Nginx是轻量级的服务器.Apache服务器稳定.开源.跨平台,但是Apache服务器不支持高并发,Nginx能支持处理百万级的TC

  • windows下nginx+tomcat配置负载均衡的方法

    目标:Nginx做为HttpServer,连接多个tomcat应用实例,进行负载均衡. 注:本例程以一台机器为例子,即同一台机器上装一个nginx和2个Tomcat且安装了JDK1.7. 1.安装Nginx 安装Nginx教程 2.配置两个Tomcat 在本机上配置两个Tomcat,分别为tomcat7-8081.tomcat7-8082. tomcat7-8081访问地址:http://localhost:8081,浏览显示内容:this is 8081 port tomcat7-8082访问

  • 详解基于Centos7+Nginx+Tomcat8的负载均衡服务器的搭建

    由于工作的需求,在使用中,需要搭建负载均衡,研究了Apache+Tomat负载均衡的方案,并且通过检索相关的文章,进行了比较发现,Apache负载负载均衡在使用的效率上,远远不如Nginx的效率高,因此决定使用Nginx来进行服务的搭建.最初YUM安装了Nginx,但是不知道什么原因,Nginx的服务可以正常启动,静态页面也可以正常访问,但是就是无法正常的搭建虚拟主机和负载均衡.对引没有深究原因,决定把他卸载,然后手动安装. 手动安装好Nginx后,一切正常,虚拟主机,负载均衡的配置全部没有任何

  • nginx+tomcat实现负载均衡,使用redis session共享

    环境准备 1.准备一台nginx服务器 ip192.168.1.133 端口81 安装过程: #首先安装依赖: yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel #注意 : 安装nginx必须使用 root 用户安装 #创建一个nginx目录 mkdir /usr/local/src/nginx #进入到

  • Debian下搭建Nginx和Tomcat服务器实现负载均衡的方案

    负载均衡的基本概念 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用.最大化吞吐率.最小化响应时间.同时避免过载的目的. 使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性.负载平衡服务通常是由专用软体和硬件来完成. 负载平衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有时也称之为服务器农场.通常,负载平衡主要应用于Web网站,大型的Internet

  • Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解

    由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是有错,现在整理了些有用的,备忘. 环境:Centos6.5.JDK1.8.Tomcat8.Nginx1.10.1 准备材料: 1.JDK1.8安装包jdk-8u102-linux-x64.tar.gz 2.Tomcat8安装包apache-tomcat-8.0.37.tar.gz 3.Nginx1.10安装包nginx-1.10.1.tar.gz 1.JDK安装配置 解压并安装到/usr/local/jdk [r

  • Nginx与Tomcat实现动静态分离和负载均衡

    本文介绍了Nginx与Tomcat实现动静态分离和负载均衡,所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件,从而达到动静页面访问时通过不同的容器来处理. 一.Nginx简介: Nginx一个高性能的HTTP和反向代理服务器, 具有很高的稳定性和支持热部署.模块扩展也很容易.当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器,N

  • linux下Nginx+Tomcat负载均衡配置方法

    Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz tar -xzf jdk-7u25-linux-x64.tar.gz ;mkdir -p /usr/java/ ;mv jdk1.7.0_25/ /usr/java/ 下. #然后配置

  • Nginx+Tomcat搭建高性能负载均衡集群的实现方法

    一.    目标实现高性能负载均衡的Tomcat集群: 二.步骤 1.首先下载Nginx,要下载稳定版: 2.然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2: 3.然后修改这两个Tomcat的启动端口,分别为18080和28080,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的server.xml: 共需修改3处端口: 当然第二台Tomcat也一样,如下图: 4.然后启动两个Tomcat,并访问

  • nginx+tomcat实现Windows系统下的负载均衡搭建教程

    刚入行没多久就听过'负载均衡'的大名,到现在因为工作接触的少,所以没什么太多的认识.但自己又对其非常的好奇,所以前两天通过查资料,在自己的笔记本上就搭建了一个超简单的案例(工作中没有时间,晚上到家了条件又不够,只能用自己的笔记本将就一下了,重在理解思想..) 通俗点将,负载均衡就是因为访问流量太大,导致项目访问不流畅.甚至宕掉,所以通过一种分流的方式来缓解这种情况. 首先,安装两个tomcat,可以是同一个复制成两个,也可以下载两个不同版本的tomcat,我就是下载了两个不同版本的.下载地址:h

  • Windows系统下MySQL8.0.21安装教程(图文详解)

    安装建议:尽量不要用.exe进行安装,用压缩包安装,对日后的卸载/版本升级更为方便 下载地址:https://dev.mysql.com/downloads/mysql/ 1.点击上面的下载地址得到zip压缩包 2.解压到要安装的目录 我这里是E:\database\mysql8\mysql-8.0.21-winx64\bin data 文件夹与 my.ini文件需手动创建出来 3.添加环境变量 我的电脑–>属性–>高级系统设置–>环境变量 选择path添加:mysql安装目录下的bin

  • windows系统下Python环境的搭建(Aptana Studio)

    1.首先访问http://www.python.org/download/去下载最新的python版本. 2.安装下载包,一路next. 3.为计算机添加安装目录搭到环境变量,如图把python的安装目录添加到pth系统变量中即可. 4.测试python安装是否成功,cmd打开命令行输入 python 命令,如下图即成功了 5.Hello World! 按照很多资料上写的,输入 print 'Hello World!' 居然是不成功,说语法错误!这是一个坑了,很多资料是都是python 1.*/

  • windows系统下Python环境搭建教程

    windows系统下Python环境的搭建 step1:下载Python程序 https://www.python.org/downloads/release/python-351/ 选择第一个下载下来(随随便下载哪个) step2:安装及配置环境 点击程序默认安装 step3:开发配置环境 电脑->系统->高级系统设置->环境变量->系统变量->path变量追加Python的安装路径 step:测试python安装是否成功 cmd打开命令行输入 python 命令 输入内容

  • 在windows系统下如何安装memcached的讲解

    Memcached 作为一个高性能的分布式内存对象缓存系统,通常被用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于"Key=>Value"方式组织数据,基于网络连接方式完成服务.需要注意的是memcached使用内存管理数据,所以它是易失的,当服务器重启,或者memcached进程中止,数据便会丢失,所以memcached不能用来持久保存数据. 下面我们讲解一下在windows系统下

  • Windows系统下解决PhPStudy MySQL启动失败问题

    报错 Apache\Nginx服务正常启动了,但是MySQL却一直启动失败. 解决流程 查看端口是否被占用 打开系统自带的资源管理器,查看监听端口3306是不是被占用,下图中3306端口被mysqld.exe占用,mysqld.exe是phpstudy自带的mysql服务,如果非mysqld.exe占用了3306,那么可以跟着下面的步骤去关闭. 打开系统自带的服务 切换本地MySQL服务 发现服务中有两个MySQL服务,一个是MySQL,一个是MySQLa.原因是,我之前在本地就安装过了mysq

  • windows系统下简单nodejs安装及环境配置

    相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼.有关nodejs的相关资料网上已经铺天盖地.由于它的高并发特性,造就了其特殊的应用地位. 国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/  这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网http://www.nodejs.org/download/  这里用的是

  • Windows系统下nodejs、npm、express的下载和安装教程详解

    1. node.js下载 首先进入http://nodejs.org/dist/,这里面的版本呢,几乎每个月都出几个新的,建议大家下载最新版本,看看自己的电脑是多少位的,别下错了. 下载完解压到你想放的位置就好了,解压后你会发现里面有node.exe.我解压到了D:\software_install文件夹. 接下来去命令行,即点击电脑左下角的开始-->运行-->cmd. 进入node.exe所在的目录,输入node -v,查看你的node版本.我的路径如下图所示: 如果你获得以上输出结果,说明

  • Windows系统下MySQL添加到系统服务方法(mysql解压版)

    MySQL软件版本:64位 5.7.12 1.首先配置MySQL的环境变量,在系统环境变量Path的开头添加MySQL的bin目录的路径,以";"结束,我的路径配置如下: 2.修改MySQL根目录下的my-default.ini文件的内容:主要修改2个属性:basedir和datadir. basedir:MySQL的根目录: datadir:数据库数据的保存目录(目录需要手动创建): 需要注意的几点: 目录的斜杠最好用反斜杠,要不需要转义或者加双引号: datadir的目录必须事先创

随机推荐