Apache+Tomcat配置集群,最后出现503错误
我参考该文章配置:http://www.iteye.com/topic/1017961
配置完成后,我依次启动apache和本机上面的3个tomcat,访问http://localhost/justTest/test.jsp
报503错误:
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
如果加上端口号,http://localhost:11080/justTest/test.jsp,则可以正常访问的。
下面附上修改后的配置文件:
1.从官网下载的mod_jk-1.2.32-httpd-2.2.x.so放在apache的modules目录下面。
2.修改httpd.conf,在最后面加上一行:
include "c:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"
3.在conf目录里面,新建mod_jk.conf文件,内容如下:
LoadModule jk_module modules/mod_jk-1.2.32-httpd-2.2.x.so
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp ajp13
4.在conf目录里面,新建workers.properties文件,内容如下:
#server
workers.tomcat_home=/tomcat1
workers.java_home=$JAVA_HOME
ps=/
worker.list = tomcat1,tomcat2,tomcat3,ajp13
#========tomcat1========
worker.tomcat1.port=11009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=12009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========tomcat3========
worker.tomcat3.port=13009
worker.tomcat3.host=localhost
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1
#========ajp13,负载均衡控制器========
worker.ajp13.type=lb
worker.ajp13.balanced_workers=tomcat1,tomcat2,tomcat3
worker.ajp13.sticky_session=1
5.如果htdocs里面没有favicon.ico,请把这个放进去,否则报错:
直接下载一个放进去:http://www.linuxsky.org/favicon.ico
下面配置tomcat:
修改每个server.xml:
找到<Server port="8005" shutdown="SHUTDOWN">,将por[color=#FF0000]t修改为"8001"[/color],为了不和其他tomcat冲突,每个tomcat的这个端口号不能一样。
找到 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>,
将端口号修该为11080,避免和其他tomcat冲突。
找到 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,修改port为11009
找到<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">,去掉注释,将jvm1修改为tomcat1
找到<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>,去掉注释。
===============================
现在依次启动apache和tomcat(启动一个或多个,效果一样),最后报503错误。
====================================第一次配置集群,请大侠指教============---------
--------------------编程问答-------------------- 大侠们 求解释啊 --------------------编程问答-------------------- 我没有多少分
请大侠们见谅啊 --------------------编程问答-------------------- 不知道 是不是你apache 和jk插件版本的问题
前几天我也配了个tomcat集群 参考的教程是apache2.2.X的 配置方法比较简单
http://www.linuxso.com/architecture/23044.html
不妨你也44 --------------------编程问答-------------------- 试试 http://localhost/index.jsp能访问到小猫的界面么 --------------------编程问答-------------------- 1. 我启动tomcat,http://localhost:11080/justTest/test.jsp,显示是正常的,
如果去掉端口号,访问http://localhost/justTest/test.jsp,那么就是503错误。
tomcat的首页可以访问的
我tomcat的端口分别是11080,12080,13080,因为这个端口号不能和apache的80端口重合。
2. 我使用的是httpd-2.2.22-win32-x86-no_ssl + tomcat-connectors-1.2.33-windows-i386-httpd-2.2.x, 版本应该没问题吧
3. 我参照你推荐的:http://www.linuxso.com/architecture/23044.html,增加了Proxy什么的,还是不行的,一样的错误。 --------------------编程问答-------------------- 你把tomcat端口改了 --------------------编程问答-------------------- http://localhost:11080/justTest/test.jsp 显示正常 就是说访问tomcat没问题
通过apache访问就不行 是不是apache和tomcat没连上
http://localhost/index.jsp能访问到tomcat么
改下apache 的端口号 44
--------------------编程问答-------------------- 503 不是servlet的service方法写错了吗?
看看是不是这种情况:重写service方法名错了
--------------------编程问答-------------------- 我下面把配置文件贴出来,大家帮我看看:
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException ;
1.apache的httpd.conf:
关键部分如下:
#Listen 12.34.56.78:80
Listen 80
(省略。。)
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
(省略。。)
include "c:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf" --------------------编程问答-------------------- 2.conf目录下分别增加mok_jk.conf和workers.properties文件
mok_jk.conf:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp ajp13
3. workers.properties
#server
workers.tomcat_home=/tomcat1
workers.java_home=$JAVA_HOME
ps=/
worker.list = tomcat1,tomcat2,tomcat3,ajp13
#========tomcat1========
worker.tomcat1.port=11009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=12009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========tomcat3========
worker.tomcat3.port=13009
worker.tomcat3.host=localhost//在我的虚拟机中的,可以算远程的吧
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1
#========ajp13,负载均衡控制器========
worker.ajp13.type=lb
worker.ajp13.balanced_workers=tomcat1,tomcat2,tomcat3
worker.ajp13.sticky_session=1 --------------------编程问答-------------------- 以上就是关于apache的全部配置。
下面贴上其中一个tomcat的配置,另外两个类似:
server.xml(只粘贴关键部分):
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server port="8001" shutdown="SHUTDOWN">
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="11080" protocol="HTTP/1.1"
connectionTimeout="20000" URIEncoding="UTF-8"
redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="11009" protocol="AJP/1.3" redirectPort="8443" />
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (易做图 how to)
/docs/config/cluster.html (reference documentation) -->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> --------------------编程问答-------------------- 我的也是同样的问题啊,楼主的解决了吗? --------------------编程问答-------------------- 没弄好 。。。。 --------------------编程问答-------------------- 我也遇到了同样的问题,没有解决呢。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
8443也是一定要改的,我就是这个问题。
补充:Java , Web 开发