1、tomcat集群

  利用nginx对请求进行分流,将请求平均的分给不同的tomcat去处理,减少单个tomcat的负载量,提高tomcat的响应速度。

2、创建多个tomcat服务器(同一个服务器上)

  ①  先安装配置好1个tomcat服务器

    安装tomcat: http://www.cnblogs.com/origalom/p/7643425.html

    以普通用户运行tomcat:http://www.cnblogs.com/origalom/p/7666897.html

  ②  将安装好的tomcat复制一份

  1. cd /usr/local/tomcat/ # 进入tomcat所在目录
  2. cp -r tomcat8080/ tomcat8081 # 复制一份新的tomcat
  3. chown -R tomcat:tomcat tomcat8081/ # 修改tomcat目录的所有者

    ③  修改daemon.sh

    如果在创建tomcat时,在daemon.sh中设置了CATALINA_HOME等变量,则新拷贝的tomcat需要将这些变量设置成新的地址。

  ④  修改端口,让新的tomcat可以正常运行

  1. vim tomcat8081/conf/server.xml

       修改tomcat内部的端口,使用一个未使用的端口号,一般可以往上加一:

    第22行的8005端口:  <Server port="8005" shutdown="SHUTDOWN">

    第69行的8080端口:

      <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
            redirectPort="8443" />

    第116行的8009端口: <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

  ⑤ 修改tomcat项目的运行根目录

    修改server.xml,将148行的appBase中的webapps改成项目所在地址:

    <Host name="localhost" appBase="/usr/local/tomcat/tomcat8080/webapps"
        unpackWARs="true" autoDeploy="true">

  ⑥  启动tomcat,检查是否启动成功

    sudo tomcat8081/bin/daemon.sh start

3、配置nginx负载均衡

  配置nginx.conf配置文件。

  1. user nginx;
  2. worker_processes 1;
  3.  
  4. error_log logs/error.log;
  5. error_log logs/error.log notice;
  6. error_log logs/error.log info;
  7.  
  8. pid logs/nginx.pid;
  9.  
  10. events {
  11. worker_connections 1024;
  12. }
  13.  
  14. http {
  15. include mime.types;
  16. default_type application/octet-stream;
  17.  
  18. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  19. # '$status $body_bytes_sent "$http_referer" '
  20. # '"$http_user_agent" "$http_x_forwarded_for"';
  21.  
  22. #access_log logs/access.log main;
  23.  
  24. server_names_hash_bucket_size 256;
  25. fastcgi_connect_timeout 300;
  26. fastcgi_send_timeout 300;
  27. fastcgi_read_timeout 300;
  28. fastcgi_buffer_size 64k;
  29. fastcgi_buffers 8 128k;
  30. fastcgi_busy_buffers_size 256k;
  31. fastcgi_temp_file_write_size 256k;
  32. server_tokens off;
  33. send_timeout 60;
  34. sendfile on;
  35. tcp_nopush on;
  36. tcp_nodelay on;
  37. keepalive_timeout 65;
  38. client_header_timeout 3m;
  39. client_body_timeout 3m;
  40. client_max_body_size 2000m;
  41. gzip on;
  42.  
  43. # tomcat集群
  44. #
  45. upstream tomcat {
  46. server 127.0.0.1:8080;
  47. server 127.0.0.1:8081;
  48. }
  49.  
  50. # HTTPS服务器
  51. #
  52. server {
  53. listen 80;
  54. listen 443 ssl;
  55. server_name www.origal.cn;
  56.  
  57. ssl_certificate /usr/local/nginx/conf/ssl/214324938610703.pem;
  58. ssl_certificate_key /usr/local/nginx/conf/ssl/214324938610703.key;
  59. ssl_session_cache shared:SSL:1m;
  60. ssl_session_timeout 5m;
  61. ssl_ciphers HIGH:!aNULL:!MD5;
  62. ssl_prefer_server_ciphers on;
  63.  
  64. location / {
  65. index index.jsp;
  66.  
  67. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  68. proxy_set_header Host $http_host;
  69. proxy_set_header X-Forwarded-Proto https;
  70. proxy_redirect off;
  71. client_max_body_size 500m;
  72. client_body_buffer_size 3m;
  73. proxy_connect_timeout 90;
  74. proxy_read_timeout 90;
  75. proxy_buffer_size 4k;
  76. proxy_buffers 6 32k;
  77. proxy_busy_buffers_size 64k;
  78. proxy_temp_file_write_size 64k;
  79.  
  80. if (!-e $request_filename) {
  81. proxy_pass http://tomcat;
  82. }
  83. }
  84.  
  85. # 静态资源直接访问
  86. location ~ \.(js|css|png|gif|jpg|jpeg|mp4|mp3|mpg|3gp|txt)$ {
  87. root /usr/local/java/tomcat8080/webapps/;
  88. if (!-e $request_filename) {
  89. proxy_pass http://tomcat;
  90. }
  91. }
  92. }
  93. }

利用nginx搭建tomcat集群的更多相关文章

  1. linux下利用httpd搭建tomcat集群,实现负载均衡

    公司使用运营管理平台是单点tomcat,使用量大,或者导出较大的运营数据时,会造成平台不可用,现在需要搭建tomcat集群,调研后,决定使用apache的httpd来搭建tomcat集群.以下是搭建步 ...

  2. 使用nginx搭建tomcat集群配置

    软件准备: (1)jdk-8u73-linux-x64.tar.gz (2)apache-tomcat-7.0.57.tar.gz (3)nginx-1.7.7.tar.gz 准备3台Linux机器, ...

  3. Tengine(nginx) 搭建Tomcat集群

    好久没有更新学习的内容了,就是得强迫自己写点东西 记录自己的学习,才能更好的进步! Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和 ...

  4. Docker如何使用nginx搭建tomcat集群

    首先创建tomcat的文件夹 , 为了方便docker的配置 我这里直接在根目录中创建 第一步:创建文件夹:发布文件夹 mkdir -p /docker/tomcat/webapp8081 mkdir ...

  5. Docker+nginx搭建tomcat集群

    1.环境准备: a.宿主机CentOS7 b.连接工具FinalShell c.镜像nginx1.20.1,tomcat (镜像拉取:docker pull 镜像名称) 2.创建nginx文件夹,to ...

  6. docker+nginx搭建tomcat集群(附录)——nginx.conf文件

    附录:nginx.conf修改后的文件内容 user root;worker_processes 2; #error_log logs/error.log;#error_log logs/error. ...

  7. nginx的简单使用和使用nginx在windows上搭建tomcat集群

    nginx是一款轻量级的web服务器,常用的作用为服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器 1.为什么我们要使用Nginx? 反向代理: 反向代理(Reverse Proxy ...

  8. 使用Nginx搭建Tomcat9集群,Redis实现Session共享

    使用Nginx搭建Tomcat9集群,Redis实现Session共享 1.tomcat准备 首先准备两个tomcat9 ,修改配置文件server.xml 如果在多个服务器上分别启动tomcat 则 ...

  9. Linux下搭建tomcat集群全记录(转)

    本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...

随机推荐

  1. pythontips(1):打印模块的属性并执行

    import sys import site def print_all(module_): modulelist = dir(module_) length = len(modulelist) fo ...

  2. 本地添加maven支持

    第一步:添加maven支持,去Apache maven官网下载maven, 解压 在conf文件夹里有个settings.xml,这个是需要自己配置的,不然的话也会有默认,只是那样的话会在C盘了,不喜 ...

  3. J.U.C并发框架源码阅读(六)ConditionObject

    基于版本jdk1.7.0_80 java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject 代码如下 /** * Con ...

  4. JSK 11: 移除数组中的重复元素

    题目描述 给定一个升序排列的数组,去掉重复的数,并输出新的数组的长度. 例如:数组 $A = \{1, 1, 2\}$,你的程序应该输出 $2$ 即新数组的长度,新数组为 $\{1, 2\}$. 要求 ...

  5. bzoj 3462: DZY Loves Math II

    3462: DZY Loves Math II Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 211  Solved: 103[Submit][Sta ...

  6. iOS 7.1 arm64 编辑报错 警告解决办法

    昨天把我的4S更新到iOS7.1,今天发下需要更新Xcode到5.1,发现打包项目Archive的时候,多了一堆警告和错误,很是郁闷. 郁闷没有用,作为一个合格的程序员,要学会淡定!看看警告和错误的大 ...

  7. Android中Context详解 ---- 你所不知道的Context(转)

    Android中Context详解 ---- 你所不知道的Context(转)                                               本文出处 :http://b ...

  8. linux-查找命令-find

    1. 按文件名(目录)查找.(*代表模糊匹配) find / -name curl    在根目录查找名字是curl的文件名(目录) find / -name "*curl*"   ...

  9. JAVA中使用freemark生成自定义文件(json、excel、yaml、txt)

    原文:http://blog.csdn.net/jinzhencs/article/details/51461776 场景:在我们工作中,有时需要生成一些文件,可能它不是一种标准的格式,比如JSON. ...

  10. 推荐一款Java反编译器,比较好用

    转自:http://www.blogjava.net/xmatthew/archive/2008/10/28/237203.html 推荐一款Java反编译器,也使用了挺久的了,感觉还是很好用,就拿出 ...