zoukankan      html  css  js  c++  java
  • Apache+tomcat或Nginx+tomcat集群搭建

    Apache+tomcat集群搭建

    1.http://httpd.apache.org/下载apache,本博客以httpd-2.4.12-x86-vc11-r2版本为例(第一个发行版中的)

    2.http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/ 下载mod_jk

    3.注意Apache和mod_jk的版本,32bit后者64bit要统一

    4.apache的httpd.conf文件可能有点问题,换做我同学的这个文件就好了。在里面添加mod_jk.conf文件

      1 #
      2 # This is the main Apache HTTP server configuration file.  It contains the
      3 # configuration directives that give the server its instructions.
      4 # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
      5 # In particular, see 
      6 # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
      7 # for a discussion of each configuration directive.
      8 #
      9 # Do NOT simply read the instructions in here without understanding
     10 # what they do.  They're here only as hints or reminders.  If you are unsure
     11 # consult the online docs. You have been warned.  
     12 #
     13 # Configuration and logfile names: If the filenames you specify for many
     14 # of the server's control files begin with "/" (or "drive:/" for Win32), the
     15 # server will use that explicit path.  If the filenames do *not* begin
     16 # with "/", the value of ServerRoot is prepended -- so "logs/access_log"
     17 # with ServerRoot set to "/usr/local/apache2" will be interpreted by the
     18 # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" 
     19 # will be interpreted as '/logs/access_log'.
     20 #
     21 # NOTE: Where filenames are specified, you must use forward slashes
     22 # instead of backslashes (e.g., "c:/apache" instead of "c:apache").
     23 # If a drive letter is omitted, the drive on which httpd.exe is located
     24 # will be used by default.  It is recommended that you always supply
     25 # an explicit drive letter in absolute paths to avoid confusion.
     26 
     27 #
     28 # ServerRoot: The top of the directory tree under which the server's
     29 # configuration, error, and log files are kept.
     30 #
     31 # Do not add a slash at the end of the directory path.  If you point
     32 # ServerRoot at a non-local disk, be sure to specify a local disk on the
     33 # Mutex directive, if file-based mutexes are used.  If you wish to share the
     34 # same ServerRoot for multiple httpd daemons, you will need to change at
     35 # least PidFile.
     36 #
     37 
     38 Define SRVROOT "D:ClusterTestApache24"
     39 ServerRoot "${SRVROOT}"
     40 
     41 #
     42 # Mutex: Allows you to set the mutex mechanism and mutex file directory
     43 # for individual mutexes, or change the global defaults
     44 #
     45 # Uncomment and change the directory if mutexes are file-based and the default
     46 # mutex file directory is not on a local disk or is not appropriate for some
     47 # other reason.
     48 #
     49 # Mutex default:logs
     50 
     51 #
     52 # Listen: Allows you to bind Apache to specific IP addresses and/or
     53 # ports, instead of the default. See also the <VirtualHost>
     54 # directive.
     55 #
     56 # Change this to Listen on specific IP addresses as shown below to 
     57 # prevent Apache from glomming onto all bound IP addresses.
     58 #
     59 #Listen 12.34.56.78:80
     60 Listen 80
     61 
     62 #
     63 # Dynamic Shared Object (DSO) Support
     64 #
     65 # To be able to use the functionality of a module which was built as a DSO you
     66 # have to place corresponding `LoadModule' lines at this location so the
     67 # directives contained in it are actually available _before_ they are used.
     68 # Statically compiled modules (those listed by `httpd -l') do not need
     69 # to be loaded here.
     70 #
     71 # Example:
     72 # LoadModule foo_module modules/mod_foo.so
     73 #
     74 # php5 support
     75 #LoadModule php5_module "D:/Program Files (x86)/php-5.6.8/php5apache2_4.dll"
     76 #AddType application/x-httpd-php .php .html .htm
     77 # configure the path to php.ini
     78 #PHPIniDir "D:Program Files (x86)php-5.6.8"
     79 
     80 #控制server回送给客户端的回应头域所包含的服务器的信息
     81 ServerTokens Prod
     82 
     83 #LoadModule access_compat_module modules/mod_access_compat.so
     84 LoadModule actions_module modules/mod_actions.so
     85 LoadModule alias_module modules/mod_alias.so
     86 LoadModule allowmethods_module modules/mod_allowmethods.so
     87 LoadModule asis_module modules/mod_asis.so
     88 LoadModule auth_basic_module modules/mod_auth_basic.so
     89 #LoadModule auth_digest_module modules/mod_auth_digest.so
     90 #LoadModule auth_form_module modules/mod_auth_form.so
     91 #LoadModule authn_anon_module modules/mod_authn_anon.so
     92 LoadModule authn_core_module modules/mod_authn_core.so
     93 #LoadModule authn_dbd_module modules/mod_authn_dbd.so
     94 #LoadModule authn_dbm_module modules/mod_authn_dbm.so
     95 LoadModule authn_file_module modules/mod_authn_file.so
     96 #LoadModule authn_socache_module modules/mod_authn_socache.so
     97 #LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
     98 #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
     99 LoadModule authz_core_module modules/mod_authz_core.so
    100 #LoadModule authz_dbd_module modules/mod_authz_dbd.so
    101 #LoadModule authz_dbm_module modules/mod_authz_dbm.so
    102 LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    103 LoadModule authz_host_module modules/mod_authz_host.so
    104 #LoadModule authz_owner_module modules/mod_authz_owner.so
    105 LoadModule authz_user_module modules/mod_authz_user.so
    106 LoadModule autoindex_module modules/mod_autoindex.so
    107 #LoadModule buffer_module modules/mod_buffer.so
    108 #LoadModule cache_module modules/mod_cache.so
    109 #LoadModule cache_disk_module modules/mod_cache_disk.so
    110 #LoadModule cache_socache_module modules/mod_cache_socache.so
    111 #LoadModule cern_meta_module modules/mod_cern_meta.so
    112 LoadModule cgi_module modules/mod_cgi.so
    113 #LoadModule charset_lite_module modules/mod_charset_lite.so
    114 #LoadModule data_module modules/mod_data.so
    115 #LoadModule dav_module modules/mod_dav.so
    116 #LoadModule dav_fs_module modules/mod_dav_fs.so
    117 #LoadModule dav_lock_module modules/mod_dav_lock.so
    118 #LoadModule dbd_module modules/mod_dbd.so
    119 #LoadModule deflate_module modules/mod_deflate.so
    120 LoadModule dir_module modules/mod_dir.so
    121 #LoadModule dumpio_module modules/mod_dumpio.so
    122 LoadModule env_module modules/mod_env.so
    123 #LoadModule expires_module modules/mod_expires.so
    124 #LoadModule ext_filter_module modules/mod_ext_filter.so
    125 #LoadModule file_cache_module modules/mod_file_cache.so
    126 #LoadModule filter_module modules/mod_filter.so
    127 #LoadModule headers_module modules/mod_headers.so
    128 #LoadModule heartbeat_module modules/mod_heartbeat.so
    129 #LoadModule heartmonitor_module modules/mod_heartmonitor.so
    130 #LoadModule ident_module modules/mod_ident.so
    131 #LoadModule imagemap_module modules/mod_imagemap.so
    132 LoadModule include_module modules/mod_include.so
    133 LoadModule info_module modules/mod_info.so
    134 LoadModule isapi_module modules/mod_isapi.so
    135 #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
    136 #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
    137 #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
    138 #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
    139 #LoadModule ldap_module modules/mod_ldap.so
    140 #LoadModule logio_module modules/mod_logio.so
    141 LoadModule log_config_module modules/mod_log_config.so
    142 #LoadModule log_debug_module modules/mod_log_debug.so
    143 #LoadModule log_forensic_module modules/mod_log_forensic.so
    144 #LoadModule lua_module modules/mod_lua.so
    145 #LoadModule macro_module modules/mod_macro.so
    146 LoadModule mime_module modules/mod_mime.so
    147 #LoadModule mime_magic_module modules/mod_mime_magic.so
    148 LoadModule negotiation_module modules/mod_negotiation.so
    149 #LoadModule proxy_module modules/mod_proxy.so
    150 #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    151 #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    152 #LoadModule proxy_connect_module modules/mod_proxy_connect.so
    153 #LoadModule proxy_express_module modules/mod_proxy_express.so
    154 #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    155 #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    156 #LoadModule proxy_html_module modules/mod_proxy_html.so
    157 #LoadModule proxy_http_module modules/mod_proxy_http.so
    158 #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
    159 #LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
    160 #LoadModule ratelimit_module modules/mod_ratelimit.so
    161 #LoadModule reflector_module modules/mod_reflector.so
    162 #LoadModule remoteip_module modules/mod_remoteip.so
    163 #LoadModule request_module modules/mod_request.so
    164 #LoadModule reqtimeout_module modules/mod_reqtimeout.so
    165 #LoadModule rewrite_module modules/mod_rewrite.so
    166 #LoadModule sed_module modules/mod_sed.so
    167 #LoadModule session_module modules/mod_session.so
    168 #LoadModule session_cookie_module modules/mod_session_cookie.so
    169 #LoadModule session_crypto_module modules/mod_session_crypto.so
    170 #LoadModule session_dbd_module modules/mod_session_dbd.so
    171 LoadModule setenvif_module modules/mod_setenvif.so
    172 #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
    173 #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    174 #LoadModule socache_dbm_module modules/mod_socache_dbm.so
    175 #LoadModule socache_memcache_module modules/mod_socache_memcache.so
    176 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    177 #LoadModule speling_module modules/mod_speling.so
    178 LoadModule ssl_module modules/mod_ssl.so
    179 LoadModule status_module modules/mod_status.so
    180 #LoadModule substitute_module modules/mod_substitute.so
    181 #LoadModule unique_id_module modules/mod_unique_id.so
    182 #LoadModule userdir_module modules/mod_userdir.so
    183 #LoadModule usertrack_module modules/mod_usertrack.so
    184 #LoadModule version_module modules/mod_version.so
    185 #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    186 #LoadModule watchdog_module modules/mod_watchdog.so
    187 #LoadModule xml2enc_module modules/mod_xml2enc.so
    188 
    189 <IfModule unixd_module>
    190 #
    191 # If you wish httpd to run as a different user or group, you must run
    192 # httpd as root initially and it will switch.  
    193 #
    194 # User/Group: The name (or #number) of the user/group to run httpd as.
    195 # It is usually good practice to create a dedicated user and group for
    196 # running httpd, as with most system services.
    197 #
    198 User daemon
    199 Group daemon
    200 
    201 </IfModule>
    202 
    203 # 'Main' server configuration
    204 #
    205 # The directives in this section set up the values used by the 'main'
    206 # server, which responds to any requests that aren't handled by a
    207 # <VirtualHost> definition.  These values also provide defaults for
    208 # any <VirtualHost> containers you may define later in the file.
    209 #
    210 # All of these directives may appear inside <VirtualHost> containers,
    211 # in which case these default settings will be overridden for the
    212 # virtual host being defined.
    213 #
    214 
    215 #
    216 # ServerAdmin: Your address, where problems with the server should be
    217 # e-mailed.  This address appears on some server-generated pages, such
    218 # as error documents.  e.g. admin@your-domain.com
    219 #
    220 ServerAdmin admin@example.com
    221 
    222 #
    223 # ServerName gives the name and port that the server uses to identify itself.
    224 # This can often be determined automatically, but we recommend you specify
    225 # it explicitly to prevent problems during startup.
    226 #
    227 # If your host doesn't have a registered DNS name, enter its IP address here.
    228 #
    229 ServerName 127.0.0.1:80
    230 
    231 #
    232 # Deny access to the entirety of your server's filesystem. You must
    233 # explicitly permit access to web content directories in other 
    234 # <Directory> blocks below.
    235 #
    236 <Directory />
    237     AllowOverride all
    238     Require all denied
    239 </Directory>
    240 
    241 #
    242 # Note that from this point forward you must specifically allow
    243 # particular features to be enabled - so if something's not working as
    244 # you might expect, make sure that you have specifically enabled it
    245 # below.
    246 #
    247 
    248 #
    249 # DocumentRoot: The directory out of which you will serve your
    250 # documents. By default, all requests are taken from this directory, but
    251 # symbolic links and aliases may be used to point to other locations.
    252 #
    253 DocumentRoot "${SRVROOT}/htdocs"
    254 <Directory "${SRVROOT}/htdocs">
    255     #
    256     # Possible values for the Options directive are "None", "All",
    257     # or any combination of:
    258     #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    259     #
    260     # Note that "MultiViews" must be named *explicitly* --- "Options All"
    261     # doesn't give it to you.
    262     #
    263     # The Options directive is both complicated and important.  Please see
    264     # http://httpd.apache.org/docs/2.4/mod/core.html#options
    265     # for more information.
    266     #
    267     Options FollowSymLinks
    268 
    269     #
    270     # AllowOverride controls what directives may be placed in .htaccess files.
    271     # It can be "All", "None", or any combination of the keywords:
    272     #   Options FileInfo AuthConfig Limit
    273     #
    274     AllowOverride None
    275 
    276     #
    277     # Controls who can get stuff from this server.
    278     #
    279     Require all granted
    280 </Directory>
    281 
    282 #
    283 # DirectoryIndex: sets the file that Apache will serve if a directory
    284 # is requested.
    285 #
    286 <IfModule dir_module>
    287     DirectoryIndex index.html
    288 </IfModule>
    289 
    290 #
    291 # The following lines prevent .htaccess and .htpasswd files from being 
    292 # viewed by Web clients. 
    293 #
    294 <Files ".ht*">
    295     Require all denied
    296 </Files>
    297 
    298 #
    299 # ErrorLog: The location of the error log file.
    300 # If you do not specify an ErrorLog directive within a <VirtualHost>
    301 # container, error messages relating to that virtual host will be
    302 # logged here.  If you *do* define an error logfile for a <VirtualHost>
    303 # container, that host's errors will be logged there and not here.
    304 #
    305 ErrorLog "logs/error.log"
    306 
    307 #
    308 # LogLevel: Control the number of messages logged to the error_log.
    309 # Possible values include: debug, info, notice, warn, error, crit,
    310 # alert, emerg.
    311 #
    312 LogLevel warn
    313 
    314 <IfModule log_config_module>
    315     #
    316     # The following directives define some format nicknames for use with
    317     # a CustomLog directive (see below).
    318     #
    319     LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    320     LogFormat "%h %l %u %t "%r" %>s %b" common
    321 
    322     <IfModule logio_module>
    323       # You need to enable mod_logio.c to use %I and %O
    324       LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
    325     </IfModule>
    326 
    327     #
    328     # The location and format of the access logfile (Common Logfile Format).
    329     # If you do not define any access logfiles within a <VirtualHost>
    330     # container, they will be logged here.  Contrariwise, if you *do*
    331     # define per-<VirtualHost> access logfiles, transactions will be
    332     # logged therein and *not* in this file.
    333     #
    334     CustomLog "logs/access.log" common
    335 
    336     #
    337     # If you prefer a logfile with access, agent, and referer information
    338     # (Combined Logfile Format) you can use the following directive.
    339     #
    340     #CustomLog "logs/access.log" combined
    341 </IfModule>
    342 
    343 <IfModule alias_module>
    344     #
    345     # Redirect: Allows you to tell clients about documents that used to 
    346     # exist in your server's namespace, but do not anymore. The client 
    347     # will make a new request for the document at its new location.
    348     # Example:
    349     # Redirect permanent /foo http://www.example.com/bar
    350 
    351     #
    352     # Alias: Maps web paths into filesystem paths and is used to
    353     # access content that does not live under the DocumentRoot.
    354     # Example:
    355     # Alias /webpath /full/filesystem/path
    356     #
    357     # If you include a trailing / on /webpath then the server will
    358     # require it to be present in the URL.  You will also likely
    359     # need to provide a <Directory> section to allow access to
    360     # the filesystem path.
    361 
    362     #
    363     # ScriptAlias: This controls which directories contain server scripts. 
    364     # ScriptAliases are essentially the same as Aliases, except that
    365     # documents in the target directory are treated as applications and
    366     # run by the server when requested rather than as documents sent to the
    367     # client.  The same rules about trailing "/" apply to ScriptAlias
    368     # directives as to Alias.
    369     #
    370     ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"
    371 
    372 </IfModule>
    373 
    374 <IfModule cgid_module>
    375     #
    376     # ScriptSock: On threaded servers, designate the path to the UNIX
    377     # socket used to communicate with the CGI daemon of mod_cgid.
    378     #
    379     #Scriptsock logs/cgisock
    380 </IfModule>
    381 
    382 #
    383 # "${SRVROOT}/cgi-bin" should be changed to whatever your ScriptAliased
    384 # CGI directory exists, if you have that configured.
    385 #
    386 <Directory "${SRVROOT}/cgi-bin">
    387     AllowOverride None
    388     Options None
    389     Require all granted
    390 </Directory>
    391 
    392 <IfModule mime_module>
    393     #
    394     # TypesConfig points to the file containing the list of mappings from
    395     # filename extension to MIME-type.
    396     #
    397     TypesConfig conf/mime.types
    398 
    399     #
    400     # AddType allows you to add to or override the MIME configuration
    401     # file specified in TypesConfig for specific file types.
    402     #
    403     #AddType application/x-gzip .tgz
    404     #
    405     # AddEncoding allows you to have certain browsers uncompress
    406     # information on the fly. Note: Not all browsers support this.
    407     #
    408     #AddEncoding x-compress .Z
    409     #AddEncoding x-gzip .gz .tgz
    410     #
    411     # If the AddEncoding directives above are commented-out, then you
    412     # probably should define those extensions to indicate media types:
    413     #
    414     AddType application/x-compress .Z
    415     AddType application/x-gzip .gz .tgz
    416 
    417     #
    418     # AddHandler allows you to map certain file extensions to "handlers":
    419     # actions unrelated to filetype. These can be either built into the server
    420     # or added with the Action directive (see below)
    421     #
    422     # To use CGI scripts outside of ScriptAliased directories:
    423     # (You will also need to add "ExecCGI" to the "Options" directive.)
    424     #
    425     #AddHandler cgi-script .cgi .pl
    426 
    427     # For type maps (negotiated resources):
    428     #AddHandler type-map var
    429 
    430     #
    431     # Filters allow you to process content before it is sent to the client.
    432     #
    433     # To parse .shtml files for server-side includes (SSI):
    434     # (You will also need to add "Includes" to the "Options" directive.)
    435     #
    436     #AddType text/html .shtml
    437     #AddOutputFilter INCLUDES .shtml
    438 </IfModule>
    439 
    440 #
    441 # The mod_mime_magic module allows the server to use various hints from the
    442 # contents of the file itself to determine its type.  The MIMEMagicFile
    443 # directive tells the module where the hint definitions are located.
    444 #
    445 #MIMEMagicFile conf/magic
    446 
    447 #
    448 # Customizable error responses come in three flavors:
    449 # 1) plain text 2) local redirects 3) external redirects
    450 #
    451 # Some examples:
    452 #ErrorDocument 500 "The server made a boo boo."
    453 #ErrorDocument 404 /missing.html
    454 #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    455 #ErrorDocument 402 http://www.example.com/subscription_info.html
    456 #ErrorDocument 503 /503.php
    457 #
    458 
    459 #
    460 # MaxRanges: Maximum number of Ranges in a request before
    461 # returning the entire resource, or one of the special
    462 # values 'default', 'none' or 'unlimited'.
    463 # Default setting is to accept 200 Ranges.
    464 #MaxRanges unlimited
    465 
    466 #
    467 # EnableMMAP and EnableSendfile: On systems that support it, 
    468 # memory-mapping or the sendfile syscall may be used to deliver
    469 # files.  This usually improves server performance, but must
    470 # be turned off when serving from networked-mounted 
    471 # filesystems or if support for these functions is otherwise
    472 # broken on your system.
    473 # Defaults: EnableMMAP On, EnableSendfile Off
    474 #
    475 #EnableMMAP off
    476 #EnableSendfile on
    477 
    478 #AcceptFilter http none
    479 #AcceptFilter https none
    480 
    481 # Supplemental configuration
    482 #
    483 # The configuration files in the conf/extra/ directory can be 
    484 # included to add extra features or to modify the default configuration of 
    485 # the server, or you may simply copy their contents here and change as 
    486 # necessary.
    487 
    488 
    489 Include conf/mod_jk.conf
    490 
    491 # Server-pool management (MPM specific)
    492 #Include conf/extra/httpd-mpm.conf
    493 
    494 # Multi-language error messages
    495 #Include conf/extra/httpd-multilang-errordoc.conf
    496 
    497 # Fancy directory listings
    498 Include conf/extra/httpd-autoindex.conf
    499 
    500 # Language settings
    501 #Include conf/extra/httpd-languages.conf
    502 
    503 # User home directories
    504 #Include conf/extra/httpd-userdir.conf
    505 
    506 # Real-time info on requests and configuration
    507 Include conf/extra/httpd-info.conf
    508 
    509 # Virtual hosts
    510 #Include conf/extra/httpd-vhosts.conf
    511 
    512 # Local access to the Apache HTTP Server Manual
    513 #Include conf/extra/httpd-manual.conf
    514 
    515 # Distributed authoring and versioning (WebDAV)
    516 #Include conf/extra/httpd-dav.conf
    517 
    518 # Various default settings
    519 #Include conf/extra/httpd-default.conf
    520 
    521 # Configure mod_proxy_html to understand HTML4/XHTML1
    522 <IfModule proxy_html_module>
    523 Include conf/extra/proxy-html.conf
    524 </IfModule>
    525 
    526 # Secure (SSL/TLS) connections
    527 # Note: The following must must be present to support
    528 #       starting without SSL on platforms with no /dev/random equivalent
    529 #       but a statically compiled-in mod_ssl.
    530 #
    531 <IfModule ssl_module>
    532 #Include conf/extra/httpd-ssl.conf
    533 Include conf/extra/httpd-ahssl.conf
    534 SSLRandomSeed startup builtin
    535 SSLRandomSeed connect builtin
    536 </IfModule>
    537 
    538 
    539 #<VirtualHost *:80>
    540 #ProxyPass /xiaoyou ajp://127.0.0.1:8009/xiaoyou
    541 #ProxyPassReverse /xiaoyou ajp://127.0.0.1:8009/xiaoyou
    542 #ServerName xiaoyou.sc.neu.edu.cn
    543 #</VirtualHost>
    View Code

    5.mod_jk.conf文件如下

    1 LoadModule jk_module modules/mod_jk.so
    2 JkWorkersFile conf/workers.properties
    3 JkMount /innerWeb/* controller
    4 JkLogFile logs/mod_jk.log  
    5 JkLogLevel info  
    6 JkLogStampformat "[%a %b %d %H:%M:%S %Y]"  
    View Code

    6.workers.properties文件如下

     1 # Defining a worker named worker1 and of type ajp13  
     2 worker.list=controller  
     3 # Set properties for worker1  
     4 worker.tomcat1.type=ajp13  
     5 worker.tomcat1.host=localhost  
     6 worker.tomcat1.port=8009  
     7 worker.tomcat1.lbfactor=1 
     8 
     9 worker.tomcat2.type=ajp13  
    10 worker.tomcat2.host=localhost  
    11 worker.tomcat2.port=9009  
    12 worker.tomcat2.lbfactor=1 
    13 
    14 #========controller,负载均衡控制器========
    15 worker.controller.type=lb
    16 
    17 
    18 #指定此负载平衡器负责的Tomcat应用节点。
    19 
    20 worker.controller.balance_workers=tomcat1,tomcat2   #指定分担请求的tomcat
    21 
    22 #此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台
    23 #Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。
    24 
    25 worker.controller.sticky_session=false      #设为false,则表明需求会话复制。
    View Code

    至此Apache已经配置好

    7.以管理员权限运行命令行 用 httpd -t 检查配置文件是否正确 之后 httpd -k install 安装服务  httpd -k start ; httpd -k stop 开启/关闭服务

    8.tomcat的server.xml配置。<Server port="8005" shutdown="SHUTDOWN"> 端口号不能一样

    9.<Connector port="8080" protocol="HTTP/1.1"  端口不能一样

    10.<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />端口要与workers.properties一致

    11.<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

    12. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 注释去掉

    Nginx+tomcat

    1.http://nginx.org/en/download.html下载Nginx 最好下载文档版

    2.以管理员身份运行命令行 用nginx -t检查配置  用 start nginx 开启Nginx,用nginx -s stop关闭Nginx

    3.修改nginx.conf配置文件

      1 #user  nobody;
      2 worker_processes  2;
      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  ;
     25 
     26     client_header_timeout 3m;
     27     client_body_timeout 3m;
     28     send_timeout 3m;
     29 
     30     client_header_buffer_size 1k;
     31     large_client_header_buffers 4 4k;
     32 
     33     sendfile        on;
     34     tcp_nopush     on;
     35     tcp_nodelay    on;
     36 
     37     #keepalive_timeout  0;
     38     keepalive_timeout  65;
     39 
     40     gzip  on;
     41     gzip_min_length    1000;  
     42     gzip_types         text/plain text/css application/x-javascript;
     43 
     44     #include gzip.conf;
     45 
     46     upstream localhost{
     47     server localhost:18081;
     48     server localhost:18080;
     49     }
     50 
     51     server {
     52         listen       80;
     53         server_name  localhost;
     54 
     55         #charset koi8-r;
     56 
     57         #access_log  logs/host.access.log  main;
     58 
     59         location / {
     60         proxy_connect_timeout 3;
     61         proxy_send_timeout 30;
     62         proxy_read_timeout 30;
     63             proxy_pass http://localhost;
     64             #root   html;
     65            # index  index.html index.htm;
     66         }
     67 
     68         #error_page  404              /404.html;
     69 
     70         # redirect server error pages to the static page /50x.html
     71         #
     72         error_page   500 502 503 504  /50x.html;
     73         location = /50x.html {
     74             root   html;
     75         }
     76 
     77         # proxy the PHP scripts to Apache listening on 127.0.0.1:80
     78         #
     79         #location ~ .php$ {
     80         #    proxy_pass   http://127.0.0.1;
     81         #}
     82 
     83         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     84         #
     85         #location ~ .php$ {
     86         #    root           html;
     87         #    fastcgi_pass   127.0.0.1:9000;
     88         #    fastcgi_index  index.php;
     89         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
     90         #    include        fastcgi_params;
     91         #}
     92 
     93         # deny access to .htaccess files, if Apache's document root
     94         # concurs with nginx's one
     95         #
     96         #location ~ /.ht {
     97         #    deny  all;
     98         #}
     99     }
    100 
    101 
    102     # another virtual host using mix of IP-, name-, and port-based configuration
    103     #
    104     #server {
    105     #    listen       8000;
    106     #    listen       somename:8080;
    107     #    server_name  somename  alias  another.alias;
    108 
    109     #    location / {
    110     #        root   html;
    111     #        index  index.html index.htm;
    112     #    }
    113     #}
    114 
    115 
    116     # HTTPS server
    117     #
    118     #server {
    119     #    listen       443 ssl;
    120     #    server_name  localhost;
    121 
    122     #    ssl_certificate      cert.pem;
    123     #    ssl_certificate_key  cert.key;
    124 
    125     #    ssl_session_cache    shared:SSL:1m;
    126     #    ssl_session_timeout  5m;
    127 
    128     #    ssl_ciphers  HIGH:!aNULL:!MD5;
    129     #    ssl_prefer_server_ciphers  on;
    130 
    131     #    location / {
    132     #        root   html;
    133     #        index  index.html index.htm;
    134     #    }
    135     #}
    136 
    137 }
    View Code

    4.添加proxy.conf文件

     1     proxy_redirect          off;  
     2     proxy_set_header        Host $host;  
     3     proxy_set_header        X-Real-IP $remote_addr;  
     4     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;  
     5     client_max_body_size    10m;  
     6     client_body_buffer_size 128k;  
     7     proxy_connect_timeout   300;  
     8     proxy_send_timeout      300;  
     9     proxy_read_timeout      300;  
    10     proxy_buffer_size       4k;  
    11     proxy_buffers           4 32k;  
    12     proxy_busy_buffers_size 64k;  
    13     proxy_temp_file_write_size 64k;  
    View Code

    5.tomcat配置<Server port="18006" shutdown="SHUTDOWN"> 端口号不能一样

    6.<Connector port="18081" protocol="HTTP/1.1"    端口号要与nginx.conf中一致

    7.<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />  端口号不能一样

    8.<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"

    9.<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 注释去掉

    参考文献:

    http://ari.iteye.com/blog/833153

    http://blog.csdn.net/cclovett/article/details/26377269

     
    https://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html(tomcat官方文档--集群,session)
  • 相关阅读:
    URL和URI之间的区别
    nom Uncaught Error: Cannot find module 'babel-runtime/regenerator'
    PHP中使用curl获取头信息headers的一些笔记
    Typora中自定义命令上传图片
    iOS链接big sur弹出“文件找不到”
    云开发cannot find module wx-server-sdk
    关于Laravel框架中Guard的底层实现
    PHP8中字符串与数字的比较更智能
    git refusing to merge unrelated histories
    k8s入门-资源文件实现
  • 原文地址:https://www.cnblogs.com/dobestself-994395/p/4610149.html
Copyright © 2011-2022 走看看