Apache和TomCat的整合以及相关问题的解决
2014-03-01 22:27
477 查看
准备软件:1、jdk-6u21-windows-i586.exe下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html2、httpd-2.2.16-win32-x86-no_ssl.msi下载地址:http://httpd.apache.org/download.cgi3、apache-tomcat-6.0.29.exe下载地址:http://www.apache.org/dist/tomcat/tomcat-6/v6.0.29/bin/4、mod_jk-1.2.30-httpd-2.2.3.so(要和httpd-2.2.16版本相同,或则尽量选择版本接近的,这点很重要)下载地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.30/①安装JDK,要选择一个不带空格的路径,否则后面有很多不知名的问题。例如我JDK安装在C:\java ,JRE安装在C:\java\jre6 。接下来就是配置环境变量了。a、在系统变量中新建JAVA_HOME,值为 C:\java,也就是JDK的安装主目录。b、在系统变量中的PATH项添加; %JAVA_HOME%\bin;%JAVA_HOME%\jre\binc、在系统变量中的CLASSPATH项添加下面的,如果没有就新建。.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意前面有点)可以进入类文件夹下,运行一个,看看是否成功。②安装Apache HTTP Server,也就是httpd-2.2.16-win32-x86-no_ssl.msi。不要默认安装,也要安装在没有空格的路径里。本文安装在C:\server\Apache2.2。安装过程中需要指定服务器所在的DNS域名、服务器DNS名称、管理员邮箱,以及服务器启动参数。没有域名可以指定DNS域名和服务器DNS名称为localhost。实际工作中,DNS域名为所购域名的后半部分,服务器DNS名称即为所购域名。如果服务器没有提供邮件服务,管理员邮箱可以任意指定。安装完后,在浏览器中访问http://localhost,如果出现It Works!说明安装是成功的。③再安装Tomcat,也就是apache-tomcat-6.0.29.exe。同样,不要默认安装,也要安装在没有空格的路径里。本文安装在C:\server\Tomcat 6.0。安装中需要指定Tomcat使用的端口号、服务器管理员登录用户名和密码。前面的可以按照默认的来,用户名和密码要牢记。安装完后在浏览器中访问http://localhost:8080/,如果出现TomCat 的首页说明成功。④这一步是进行Apache HTTP Server和Tomcat的整合。Tomcat为一个jsp的容器,Apache为一个web server,两者之间通信通过worker进行(由Tomcat使用Server.xml文件中Connector的标签来定义其端口和协议),通过 mod_jk的模块(由web服务器像apache、iis等使用)和Web Server通信。通信协议有很多,其中jk2已经被抛弃了,现在就用jk就好了。文件说明mod_jk.conf主要定义mod_jk模块的位置以及mod_jk模块的连接日志设置,还有定义worker.properties文件的位置。worker.properties 定义worker的参数,主要是连接tomcat主机的地址和端口信息。如果Tomcat与apache不在同一台机器上,或者需要做多台机器上tomcat的负载均衡只需要更改workers.properties文件中的相应定义即可。整个过程其实就是让apache的httpd.conf文件调用mod_jk.conf,mod_jk.conf调用workers.properties。a、拷贝m od_jk-1.2.30-httpd-2.2.3.so到d:\server\apache2.2\modules\ 并改名为mod_jk.so。b、创建workers.properties文件并放到C:\sever\Apache2.2\conf。workers.properties的内容为:worker.list= s1worker.s1.port=8009worker.s1.host=localhostworker.s1.type=ajp13worker.DLOG4J.type=lbworker.retries=3worker.DLOG4J.balanced_workers=s1worker.DLOG4J.sticky_session=1worker.status.type=statusc、创建mod_jk.conf文件C:\sever\Apache2.2\conf。mod_jk.conf的内容为:JkWorkersFile C:\sever\Apache2.2\conf\workers.propertiesJkLogFile C:\sever\Apache2.2\logs/mod_jk.logJkLogLevel infoJkLogStampFormat "[%a %b %d %H:%M:%S %Y]"JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectoriesJkRequestLogFormat "%w %V %T"JkMount /servlet/* s1JkMount /*.jsp s1JkMount /*.action s1JkMount /*.do s1JkMount /lunchGroup/* s1d、最后修改Apache的conf/httpd.conf配置文件,找到#LoadModule XXXX到最后一行插入如下两行:LoadModule jk_module modules/mod_jk.soInclude conf/mod_jk.confe、修改Apache和Tomcat的文档主目录。1、apache可以直接在conf/httpd.conf下修改DocumentRoot的值为"C:\severgis"。就把文档主目录放到C:\severgis了。2、Tomcat是在C:\sever\Tomcat 6.0\conf的server.xmlHost name="localhost" appBase="webapps"这一句修改。只需将webapps换成想要的绝对路径就行。最后在服务管理中重启Apache2.2和Apache Tomcat6。在浏览器中访问http://localhost/index.jsp和http://localhost:8080/index.jsp 看结果是否相同,如果相同说明整合成功。问题:Apache配置注意事项及出现的问题:①安装前禁止IIS和迅雷以及其他占用80端口的服务。每次手动启动apache 时总是提示:本地计算机上的Apache服务启动后又停止了,一些服务自动停止,如果他们没什么可做的例如”日志和警报”服务。解决:netsh winsock reset 重置Winsock目录,不必重新启动。②不能自动启动。error.log日志类似这样描述:crit] (OS 10022)提供了一个无效的参数。解决:a、网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾。b、控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)即可。c、选择启用TCP/IP 上的NetBIOS(最关键,前面两个貌似可以不要)③error.log日志类似这样描述:[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.这是由于apache 使用了微软的AcceptEx()调用的缘故,禁用掉即可,此问题只会出现在win平台且apache的2.0.49和更高版本上,出现错误的大概原因是防火墙和防病毒软件所导致,导致结果也有好几种,像apache占用很高cpu资源或者网站页面无法打开。解决方法修改d:\server\apache2.2\conf\httpd.conf中的mpm部分ThreadsPerChild 250MaxRequestsPerChild 0Win32DisableAcceptEx #添加这一行即可,做过压力测试,对性能影响很小,可以忽略④上网用的Dr.COM 客户端是跟Apache有些冲突的(具体我也不知道)。如果你在启动了Dr.COM客户端的情况下启动Apache这时还会出现上述错误。一定要关掉 Dr.COM客户端。这时应该就可以正常启动Apache服务器了。
相关文章推荐
- Apache整合Tomcat的相关问题
- Apache整合Tomcat的相关问题
- 解决Apache 和 Tomcat整合出现访问Tomcat内容出现404问题
- Apache2.2和Tomcat5.0的整合(二)—解决REDIRECT_URL的中文路径问题
- Apache整合Tomcat的相关问题
- 解决URL参数中的%问题(org.apache.tomcat.util.http.Parameters processParameters Paramete)
- 日志-apache与tomcat整合遇到的问题
- Linux挂载优盘 Linux中安装jdk,eclipse,tomcat以及遇到的问题和解决办法
- tomcat中相关问题的解决
- The APR based Apache Tomcat Native library which allows optimal performance in production 问题的解决
- Apache+tomcat服务器解决中文乱码的问题
- Java Web入门学习(四)Eclipse与Maven、Tomcat整合配置 (重整版并解决问题)
- 关于mod_jk整合apache+tomcat中问题求大神详解
- The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 问题的解决
- Linux相关问题-Ubuntu 12.04下解决Tomcat自启动问题
- Spring MVC 自带的字符编码过滤器以及Tomcat字符编码设置,彻底解决中文参数乱码问题
- linux Apache设置https访问以及加载mod_ssl.so模块以及问题解决
- elasticsearch核心知识--45.搜索相关参数以及bouncing results问题解决方案
- linux系统下的jdk安装,环境变量配置以及tomcat的相关问题
- Java-jdk的安装,Tomcat服务器的安装,在eclipse中添加JavaEE插件常见问题以及解决方法,步骤