Nginx+Tomcat 做请求分发以及负载均衡

转载 2018年04月16日 13:26:06

、安装Tomcat(略) 
2、下载安装Nginx 
Nginx下载地址:http://nginx.org/en/download.html 
下载nginx for windows 1.8.0 
下载nginx for windows 1.8.0 
下载完成之后,直接解压就可以。我把它放在了D:\Program Files-k\nginx-1.8.0这个路径下。 
打开cmd,转到安装目录下 运行start nginx 安装,如下图所示: 
这里写图片描述 
如果安装失败,查看80端口是不是被占用,可以用netstat -a 查看 
如果一个小黑框一闪而过则表示成功了。我们可以打开任务管理器查看到正在运行的进程。如下图所示: 
 
此时访问 http://localhost/显示下图 
就表示第一步成功了~!!! 
这里写图片描述 
3、Nginx配置文件nginx.conf 
在\nginx-1.8.0\conf目录下有一个nginx.conf文件,有如下代码

 server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;

 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

listen 80;表示监听80端口. 
server_name localhost; 表示转到本地,这里指Nginx的文件夹里。 
location / 表示匹配的路径, 斜杠代表匹配所有的请求。 
root html; 静态文件的路径,其实就是指D:\Program Files-k\nginx-1.8.0\html 这个路径。 
index 指当没有指定主页时,默认的指定文件。 
4、访问localhost转到tomcat

 location / {
            proxy_pass http://127.0.0.1:8080;
        }
  • 1
  • 2
  • 3

改这一个地方就可以了,表示匹配到任意请求的时候都直接转发给本机的tomcat处理。 
然后需要reload一下Nginx,命令 nginx -s reload 
这里写图片描述 
这时候再访问 http://localhost/ 就是tomcat 的主页啦~ 
5、请求分发 
实现 http://local.server.com 访问本地的工程,http://linux.server.com访问linux服务器上的工程(在阿里上的虚拟主机)。 
首先要修改一下本机的一个文件 C:\Windows\System32\drivers\etc\hosts 最下面加一行

127.0.0.1       local.server.com
127.0.0.1       linux.server.com
  • 1
  • 2

如下图: 
这里写图片描述
修改nginx.conf配置文件

server {
        listen       80;
        server_name  local.server.com;
     location / {
            proxy_pass http://127.0.0.1:8080;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }        
    }
server {
        listen       80;
        server_name  linux.server.com;
     location / {
            proxy_pass http://10.112.13.56:8080;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }        
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

这时候访问http://local.server.com /(你的工程目录) 
就可以访问本机的工程,http://linux.server.com/(你的工程目录)就可以访问linux上的工程啦。如果不想加工程目录,直接用http://local.server.com这个url访问,还需要修改tomcat的server.xml配置文件,在 apache-tomcat-7.0.63-web/conf/server.xml 的最下面的 上面一行添加:

<Context path="" docBase="D:\Program Files-k\apache-tomcat-7.0.62\webapps\examples" reloadable="true" distributable="true"/>
  • 1

doBase里面是工程的路径。 
6、负载均衡 
在server的上面加一个 upstream,如下所示: 
我本机的ip地址是192.168.31.111,同一局域网下,小伙伴的ip地址是192.168.31.105,两个人的tomcat都启动,运行相同的工程。

 upstream dis{  
        server 192.168.31.105:8080; 
    server 127.0.0.1:8080; 
 } 
server{
        listen       80;
        server_name  local.server.com;
     location / {
            proxy_pass http://dis;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }        
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

这时候访问http://local.server.com /(你的工程目录),然后不断刷新,你会发现每次请求会间隔的从不同服务器获取内容。这时候两个服务器的比重是1:1。可以通过改变 weight的指改变相应的比重。如下图所示:

upstream dis{  
        server 192.168.31.105:8080  weight=1; 
    server 127.0.0.1:8080  weight=3; 
 } 
  • 1
  • 2
  • 3
  • 4

负载均衡就完成啦~~!!!!

Nginx+Tomcat搭建负载均衡

  • 2015年11月11日 17:45
  • 428KB
  • 下载

Nginx+tomcat 实现负载均衡session共享demo

  • 2018年01月05日 15:39
  • 64.83MB
  • 下载

nginx+tomcat负载均衡、动静分离

一、负载均衡: 1、准备工作: 0)安装nginx和tomcat; 1)在/usr/local/nginx/conf 目录下建立一个conf.d 文件夹 2) 修改nginx.conf配置文件...
  • liuxiao723846
  • liuxiao723846
  • 2015-10-28 13:20:30
  • 888

使用nginx针对URL实现负载均衡或者说接口定向分发

针对location进行接口的定向分发。
  • u010959000
  • u010959000
  • 2016-02-24 14:33:48
  • 6254

nginx+tomcat+redis 做负载均衡时session 共享实现

针对之前的nginx+tomcat的负载均衡机制,因为会出现session丢失的问题,特研究了下redis的session共享;(如果想搭建本环境可从上一篇开始,涉及到nginx的环境搭建http:/...
  • shukebai
  • shukebai
  • 2016-05-27 10:37:01
  • 1655

linux下的nginx+tomcat负载均衡简单原理

  • 2012年07月18日 11:17
  • 87KB
  • 下载

NGINX负载均衡分发请求的几种方式

1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况...
  • ztblog
  • ztblog
  • 2016-08-11 15:54:13
  • 7490

使用Apache通过JK实现多Tomcat负载均衡集群时,Apache不能将请求分发给Tomcat处理(即Apache反向代理不成功)的问题

前些天在做Apache通过JK实现多Tomcat负载均衡集群时,参考网上的配置将配置文件配置好后,访问已存在tomcat中的JSP文件时发现Apache提示URL不存在,然后检查了配置文件及tomca...
  • fuxiaohui
  • fuxiaohui
  • 2015-05-02 00:18:07
  • 3780

全局负载均衡技术如何将用户的访问指向离用户最近的工作正常的流媒体服务器上

全局负载均衡技术如何将用户的访问指向离用户最近的工作正常的流媒体服务器上;出处:https://segmentfault.com/q/1010000004556003?utm_source=weekl...
  • testcs_dn
  • testcs_dn
  • 2016-03-09 20:15:44
  • 2267

Web集群与负载均衡服务实现

集群(Cluster):是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。        负载均衡(L...
  • wuqingzhu8080
  • wuqingzhu8080
  • 2017-12-02 10:41:02
  • 226
收藏助手
不良信息举报
您举报文章:Nginx+Tomcat 做请求分发以及负载均衡
举报原因:
原因补充:

(最多只允许输入30个字)