Linux下Apache+Tomcat+JK实现负载均衡和群集的完整过(4)

9.apache服务器的配置

apache服务器、tomcat服务器和JK连接器都部署完成并能正确执行后就可以开始配置了

用vi或者其它编辑器打开/usr/local/apache2/conf/httpd.conf文件(由于该文件权限属性为rw-r--r--,因此要想修改此文件需要root权限),这就是apache服务器的主配置文件了。

这里我推荐使用图形化的编辑器来编辑它。因为这个文件很多行,如果用文本模式的编辑器编辑个人感觉很繁琐。

在有很多LoadModule语句的地方,末尾追加一行

LoadModule jk_module modules/mod_jk.so

然后在写有<IfModule XXXX>的区域追加一行如下配置

<IfModule jk_module>
  JkWorkersFile conf/workers.properties
  JkMountFile conf/uriworkermap.properties
  JkLogFile logs/mod_jk.log
  JkLogLevel warn
</IfModule>

下面给出了一个我写的配置。注意配置中有注释的地方。“#”开头的行为注释行。已经去除了原有的配置中的多余注释。

ServerRoot "/usr/local/apache2"   Listen 80   ServerAdmin chaijunkun@hotmail.com   DocumentRoot /usr/local/apache2/htdocs"     LoadModule authn_file_module modules/mod_authn_file.so     LoadModule authn_dbm_module modules/mod_authn_dbm.so     LoadModule authn_anon_module modules/mod_authn_anon.so     LoadModule authn_dbd_module modules/mod_authn_dbd.so     LoadModule authn_default_module modules/mod_authn_default.so     LoadModule authz_host_module modules/mod_authz_host.so     LoadModule authz_groupfile_module modules/mod_authz_groupfile.so     LoadModule authz_user_module modules/mod_authz_user.so     LoadModule authz_dbm_module modules/mod_authz_dbm.so     LoadModule authz_owner_module modules/mod_authz_owner.so     LoadModule authz_default_module modules/mod_authz_default.so     LoadModule auth_basic_module modules/mod_auth_basic.so     LoadModule auth_digest_module modules/mod_auth_digest.so     LoadModule dbd_module modules/mod_dbd.so     LoadModule dumpio_module modules/mod_dumpio.so     LoadModule reqtimeout_module modules/mod_reqtimeout.so     LoadModule ext_filter_module modules/mod_ext_filter.so     LoadModule include_module modules/mod_include.so     LoadModule filter_module modules/mod_filter.so     LoadModule substitute_module modules/mod_substitute.so     LoadModule deflate_module modules/mod_deflate.so     LoadModule log_config_module modules/mod_log_config.so     LoadModule logio_module modules/mod_logio.so     LoadModule env_module modules/mod_env.so     LoadModule expires_module modules/mod_expires.so     LoadModule headers_module modules/mod_headers.so     LoadModule ident_module modules/mod_ident.so     LoadModule setenvif_module modules/mod_setenvif.so     LoadModule version_module modules/mod_version.so     LoadModule mime_module modules/mod_mime.so     LoadModule dav_module modules/mod_dav.so     LoadModule status_module modules/mod_status.so     LoadModule autoindex_module modules/mod_autoindex.so     LoadModule asis_module modules/mod_asis.so     LoadModule info_module modules/mod_info.so     LoadModule cgi_module modules/mod_cgi.so     LoadModule dav_fs_module modules/mod_dav_fs.so     LoadModule vhost_alias_module modules/mod_vhost_alias.so     LoadModule negotiation_module modules/mod_negotiation.so     LoadModule dir_module modules/mod_dir.so     LoadModule imagemap_module modules/mod_imagemap.so     LoadModule actions_module modules/mod_actions.so     LoadModule speling_module modules/mod_speling.so     LoadModule userdir_module modules/mod_userdir.so     LoadModule alias_module modules/mod_alias.so     LoadModule rewrite_module modules/mod_rewrite.so     # Load JK Connector Module      LoadModule jk_module modules/mod_jk.so   <IfModule !mpm_netware_module>     <IfModule !mpm_winnt_module>       User daemon       Group daemon     </IfModule>   </IfModule>   <IfModule dir_module>     DirectoryIndex index.html   </IfModule>   # Load Configure while Loading JK Connector Module    <IfModule jk_module>     JkWorkersFile conf/workers.properties     JkMountFile conf/uriworkermap.properties     JkLogFile logs/mod_jk.log     JkLogLevel warn   </IfModule>   <FilesMatch "^\.ht">     Order allow,deny     Deny from all     Satisfy All   </FilesMatch>   ErrorLog "logs/error_log"   LogLevel warn   <IfModule log_config_module>     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined     LogFormat "%h %l %u %t \"%r\" %>s %b" common     <IfModule logio_module>       LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio     </IfModule>     CustomLog "logs/access_log" common   </IfModule>   <IfModule alias_module>     ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"   </IfModule>   <IfModule cgid_module>   </IfModule>   DefaultType text/plain   <IfModule mime_module>     TypesConfig "conf/mime.types"     AddType application/x-compress .Z     AddType application/x-gzip .gz .tgz   </IfModule>   <IfModule ssl_module>     SSLRandomSeed startup builtin     SSLRandomSeed connect builtin   </IfModule>   <Directory "/">     Options FollowSymLinks     Deny from all     Order deny,allow     AllowOverride None   </Directory>   <Directory "/usr/local/apache2/htdocs">     Options FollowSymLinks Indexes     Allow from all     Order allow,deny     AllowOverride None   </Directory>   <Directory "/usr/local/apache2/cgi-bin">     Options None     Allow from all     Order allow,deny     AllowOverride None   </Directory>  

LoadModule表示当apache服务启动时要加载模块 jk_module为模块的别名,后面跟的modules/mod_jk.so就是相对于apache服务器所在目录(/usr/local/apache2/)的模块文件名。

<IfModule jk_module>区域表示当apache服务器加载jk_module(在LoadModule指令中指定的模块别名)模块时所做的配置。

其中:

JkWorkersFile 指定负载均衡服务器的配置文件,文件名为相对于apache服务器所在目录的conf/workers.properties文件
JkMountFile 指定那些请求交由负载均衡服务器来处理,那些由apache服务器来处理,配置文件为相对于apache服务器所在目录的conf/uriworkermap.properties文件
JkLogFile 指定JK连接器的日志输出文件,文件为相对于apache服务器所在目录的logs/mod_jk.log文件
JkLogLevel 指定JK连接器输出日志的级别,级别为warn以上的日志将被输出到日志文件中,可选的值级别由低到高分别为:TRACE DEBUG INFO WARN ERROR FATAL

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppzfj.html