zoukankan      html  css  js  c++  java
  • 利用nginx搭建tomcat集群

     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可以正常运行

    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 
    11 events {
    12     worker_connections  1024;
    13 }
    14 
    15 
    16 http {
    17     include       mime.types;
    18     default_type  application/octet-stream;
    19 
    20     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    21     #                  '$status $body_bytes_sent "$http_referer" '
    22     #                  '"$http_user_agent" "$http_x_forwarded_for"';
    23 
    24     #access_log  logs/access.log  main;
    25 
    26     server_names_hash_bucket_size 256;
    27     fastcgi_connect_timeout 300;
    28     fastcgi_send_timeout 300;
    29     fastcgi_read_timeout 300;
    30     fastcgi_buffer_size 64k;
    31     fastcgi_buffers 8 128k;
    32     fastcgi_busy_buffers_size 256k;
    33     fastcgi_temp_file_write_size 256k;
    34     server_tokens off;
    35     send_timeout     60;
    36     sendfile        on;
    37     tcp_nopush on;
    38     tcp_nodelay on;
    39     keepalive_timeout  65;
    40     client_header_timeout 3m;
    41     client_body_timeout 3m;
    42     client_max_body_size 2000m;
    43     gzip  on;
    44 
    45     # tomcat集群
    46     #
    47     upstream tomcat {
    48         server 127.0.0.1:8080;
    49         server 127.0.0.1:8081;
    50     }
    51 
    52 
    53     # HTTPS服务器
    54     #
    55     server {
    56         listen       80;
    57         listen       443 ssl;
    58         server_name  www.origal.cn;
    59 
    60         ssl_certificate      /usr/local/nginx/conf/ssl/214324938610703.pem;
    61         ssl_certificate_key  /usr/local/nginx/conf/ssl/214324938610703.key;
    62         ssl_session_cache    shared:SSL:1m;
    63         ssl_session_timeout  5m;
    64         ssl_ciphers  HIGH:!aNULL:!MD5;
    65         ssl_prefer_server_ciphers  on;
    66 
    67         location / {
    68             index  index.jsp;
    69             
    70             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    71             proxy_set_header Host $http_host;
    72             proxy_set_header X-Forwarded-Proto https;
    73             proxy_redirect off;
    74             client_max_body_size 500m;
    75             client_body_buffer_size 3m;
    76             proxy_connect_timeout 90;
    77             proxy_read_timeout 90;
    78             proxy_buffer_size 4k;
    79             proxy_buffers 6 32k;
    80             proxy_busy_buffers_size 64k;
    81             proxy_temp_file_write_size 64k;
    82             
    83             if (!-e $request_filename) {
    84                 proxy_pass http://tomcat;
    85             }
    86         }
    87         
    88         # 静态资源直接访问
    89         location ~ .(js|css|png|gif|jpg|jpeg|mp4|mp3|mpg|3gp|txt)$ {  
    90             root /usr/local/java/tomcat8080/webapps/;
    91             if (!-e $request_filename) {
    92                 proxy_pass http://tomcat;
    93             }
    94         }
    95     }
    96 }
  • 相关阅读:
    30款超酷的HTTP 404页面未找到错误设计
    java与java学习路线
    程序员最核心的竞争力
    群智能优化算法-测试函数matlab源码
    如何用Latex合并多个pdf文件?
    Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!
    学无止境 气有浩然
    Latex中定义、定理、引理、证明 设置方法总结
    WeUI
    微信JS SDK Demo 官方案例
  • 原文地址:https://www.cnblogs.com/origalom/p/7821677.html
Copyright © 2011-2022 走看看