nginx+tomcat负载均衡配置

前几天,我们讲过了【互联网常见架构模式 之 nginx负载均衡】(忘记的童鞋,点击上面链接或者输入关键词:nginx\负载均衡,即可重新阅读),重点是概念和理论,以及负载的原理,今天我们来讲下,具体如何去配置负载,web服务器以Tomcat为例。

负载均衡的目的是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务。

我们通常称对某一台机器的访问量称为负载量,如何将一个用户的请求,合理的分配到一台能快速响应用户请求的服务器上,我们就需要用到一些负载策略。也就体现出了文章主题的用意了:负载均衡,将用户的所有HTTP请求均衡的分配到每一台机器上,充分发挥所有机器的性能,提高服务的质量和用户体验。负载均衡可以通过负载均衡网络硬件设备和Web服务器软件来实现,前者设备成本较高,小公司通常负担不起,所以后者一般是我们的首选。实现负载均衡常用的Web服务器软件有Nginx、HAProxy、LVS、Apache,本文主要介绍Nginx的负载均衡策略。

下载nginx、tomcat和安装就不过多介绍了,某度有很多。

准备:

  • nginx-1.13.0
  • tomcat-8081
  • tomcat-8082
  • jdk7

第一步:Tomcat-8081配置修改

修改tomcat的文件:server.xml(..\apache-tomcat-8081\conf)

将端口修改三处为:

1:<Server port="8005"...>

2:<Connector port="8081" .../>

3: <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

第二步:Tomcat-8082配置修改

修改tomcat的文件:server.xml(..\apache-tomcat-8082\conf)

将端口修改三处为:

1:<Server port="8006"...>

2:<Connector port="8082" .../>

3: <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

第三步:nginx配置修改

修改nginx的配置文件:nginx.conf (...\nginx-1.13.0\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;
 upstream localhost {
 server 127.0.0.1:8081;
 server 127.0.0.1:8082; 
     }
    server {
  listen       80;
        server_name  localhost;
        #charset koi8-r;
        access_log  logs/host.access.log  main;
  location / {
      proxy_pass  http://localhost;
        }
        #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;
        }
    }
}

第四步:将web项目部署到tomcat-8081和tomcat-8082中

第五步:启动tomcat-8081和tomcat-8082

第五步:启动nginx

最后:访问http://localhost

原文发布于微信公众号 - 码神联盟(lkchatspace)

原文发表时间:2017-07-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

varnish缓存实现动静分离

一、简介 Web缓存是指一个Web资源(html,js,css,images...)存在与Web服务器和客户端(浏览器),缓存会根据进来的请求报文做出响应,后...

3295
来自专栏xcywt

《Linux命令行与shell脚本编程大全》 第八章管理文件系统

ext:最早的文件系统,叫扩展文件系统。使用虚拟目录操作硬件设备,在物理设备上按定长的块来存储数据。

1053
来自专栏PHP技术大全

通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘、工具挖掘、代码审计三部分内容,手工挖掘篇...

2015
来自专栏小樱的经验随笔

利用Git工具将本地创建的项目上传到Github上

作为一个对前沿技术很看好的小青年,怎么能不会用Github呢?一年前我创建了Github,也知道git,但是尝试过用,但是就没弄明白,很多粉丝都问我Github...

914
来自专栏老九学堂

初识DOS

一、什么是DOS DOS是英文“Disk Operating System”的缩写,意思是磁盘操作系统。它与Windows一样都是属于操作系统,但没有Windo...

3625
来自专栏腾讯NEXT学位

前端页面热更新实现方案

4715
来自专栏小工匠技术圈

【Java小工匠】JavaNIO-基础概念

阻塞与非阻塞主要是程序等待消息通知时的状态角度来说的。阻塞调用是指调用结果返回之前,当前线程会被挂起,一直处于等待消息通知,不能够执行其他业务。

753
来自专栏北京马哥教育

25个必须记住的SSH命令

OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSS...

3555
来自专栏大闲人柴毛毛

架构高性能网站秘笈(二)——动态内容缓存

什么是动态内容缓存? 浏览器向服务器发送请求后,服务器会根据浏览器的要求做相应的处理(如:数据库操作),然后将处理后的结果注入JSP页面生成HTML,最后将生...

3156
来自专栏散尽浮华

crontab日常使用梳理

在日常的运维工作中,对crontab定时任务的制定是再寻常不过的了。根据以往的使用经验梳理如下: 基本格式 : *  *  *  *  *  command 分...

3658

扫码关注云+社区