`

[原创]xampp-tomcat- connector---- xampp 完美整合现有的tomcat [续]

阅读更多
在笔者拙作 xampp(apache+mod_jk)整合现有的tomcat 中, 已经将现有的tomcat整合到了xampp中,但是还有个遗憾,就是不能通过xampp-control控制面板启动tomcat, 只能通过点tomcat_start.bat,另外还不能智能移除tomcat6服务.
基于以上两点, 笔者重新研究了下xampp的机制, 终于解决了上述问题, 附件里面也有源码, 欢迎参考

=====================================================================

1. Xampp官网 http://www.apachefriends.org/en/xampp.html

引用

许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿。如果您想添加 MySQL、PHP 和 Perl,那就更难了。

XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache 发行版。XAMPP 的确非常容易安装和使用:只需下载,解压缩,启动即可。

到目前为止,XAMPP 共有以下四种版本:


适用于 Linux 的 XAMPP

适用于 Linux 系统的发行版(已在 Ubuntu、SuSE, RedHat, Mandrake 和 Debian 下通过测试)。 其中包含:Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL ,GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite 和 IMAP C-Client。

适用于 Windows 的 XAMPP

适用于 Windows 2000、XP、Vista 和 7 的发行版。该版本包括:Apache、MySQL、PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System, Ming, JpGraph, FileZilla FTP Server, mcrypt, eAccelerator, SQLite 和 WEB-DAV + mod_auth_mysql。

适用于 Mac OS X 的 XAMPP

适用于 Mac OS X 的发行版包括:Apache、MySQL、PHP & PEAR、SQLite、Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, zlib, Ming, Webalizer、mod_perl。

适用于 Solaris 的 XAMPP

适用于 Solaris 的发行版(在 Solaris 8 环境下开发并测试,在 Solaris 9 下通过测试)包括:Apache、MySQL、PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, Freetype2, libjpeg, libpng, zlib, expat, Ming, Webalizer, pdf class。

XAMPP 是免费的

我们不喜欢定价过高的商业软件,所以我们尝试以 XAMPP 来证明免费软件也能有好的表现。

易于安装和卸载

XAMPP 在 Linux 下安装很容易:Apache、MySQL、PHP 和 Perl 以最佳方式整合在一起(图为 PHP/Ming 在 Linux 下的屏幕演示截图)

您只需下载并解压 XAMPP 就能完成安装,且对 Windows 的注册表不做任何改动(但使用 XAMPP 的 Windows 安装包时除外). 您也无需编辑任何配置文件。没有更简单的方法了吧!
软件包中包含了一些范例程序可供检测 XAMPP 是否正在运行:一个小型 CD 收集程序(基于 PHP 和 MySQL)、一个小型留言本程序(用 Perl 写成)和另外几个示例工具。

如果您觉得不再需要 XAMPP 了,只需直接将其目录删除,就完成卸载了。

如果您使用 XAMPP 的 Windows 安装包, 建议您调用系统的“添加或删除程序”功能执行卸载。 这是因为每种安装文件在执行安装过程时都会在注册表中留下痕迹,XAMPP 的安装包也不例外。



2. 软件安装

(1)下载Xampp和Xampp Tomcat Add-On (最新版本的Xampp已经继承了Tomcat,无需下载Tomcat Add-On)

xampp-win32-1.7.3.exe
xampp-tomcat-addon-win32-6.0.20.zip

(xampp 1.7.3 集成的是tomcat6, 对于Xampp Tomcat Add-On, 我们只需用到mod_jk.so, 你也可以到http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/直接下载)


(2) 安装xampp-win32-1.7.3.exe(略) 到D:\usr\xampp

(3)现有的JAVA_HOME: D:\usr\jdk


(4)现有的tomcat目录(TOMCAT_HOME): D:\usr\tomcat (请务必运行 bin\shutdown.bat 停止现有的tomcat服务, 否则与xampp会出现调用冲突)


(5)解压xampp-tomcat-addon-win32-6.0.20.zip
将xampp-tomcat-addon-win32-6.0.20\apache\modules\mod_jk.so
拷贝到
D:\usr\xampp\apache\modules目录

3. 环境配置

(1)在D:\usr\xampp目录

[1]新建
文件夹 tomcat
文件   tomcat_start.bat
文件   tomcat_stop.bat

[2]编辑tomcat_start.bat:

@echo off & SETLOCAL
PUSHD %~dp0
net start tomcat6
POPD


[3]编辑tomcat_stop.bat:

@echo off & SETLOCAL
PUSHD %~dp0
net stop tomcat6
POPD



(4)在D:\usr\xampp\tomcat目录

[1]新建
文件夹 bin
文件夹 conf
文件   tomcat_uninstallservice.bat
文件   tomcat_installservice.bat

[2] 编辑tomcat_installservice.bat

@ECHO OFF & SETLOCAL
PUSHD %~dp0
CD ..

ECHO Installing Tomcat as a service
xampp_cli.exe installservice tomcat

IF NOT ERRORLEVEL 1 (
    ECHO Now we start Tomcat :)
    xampp_cli.exe startservice tomcat
)

POPD
PAUSE


[3] 编辑tomcat_uninstallservice.bat

@ECHO OFF & SETLOCAL
PUSHD %~dp0
CD ..

ECHO Time to say goodbye to Tomcat :(
xampp_cli.exe deinstallservice tomcat

POPD
PAUSE


(4)在D:\usr\xampp\tomcat\bin目录

[1]新建
文件   service.bat

[2]编辑service.bat
(请把D:\usr\tomcat\bin和D:等替换你主机上的正确路径, 其中D:\usr\tomcat\bin为tomcat的bin目录,D:为tomcat所在驱动器的盘符)

@echo off & SETLOCAL
PUSHD %~dp0

D:
cd D:\usr\tomcat\bin

if %1 == install (call service.bat install tomcat6)
if %1 == remove (call service.bat remove tomcat6)
if %1 == uninstall (call service.bat uninstall tomcat6)

POPD


(5)在D:\usr\xampp\tomcat\conf目录

[1]新建空白文件server.xml

server.xml无需添加任何内容, 目的是为了让xampp识别出你主机已经安装集成tomcat到xampp里面
这个步骤很关键

[2]新建文件workers.properties, 编辑workers.properties
(请把D:/usr/tomcat和D:/usr/jdk等替换你主机上的正确路径)

workers.tomcat_home=D:/usr/tomcat #让mod_jk模块知道Tomcat的位置 
workers.java_home=D:/usr/jdk #让mod_jk模块知道jre的位置 
ps=\ 
worker.list=ajp13 #模块版本 
worker.ajp13.port=8009 #工作端口,若没占用则不用修改 
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改 
worker.ajp13.type=ajp13 #类型 
worker.ajp13.lbfactor=1 #代理数,不用修改


(6) 在D:\usr\xampp\apache\conf目录, 修改http.conf, 在后面加上
(请把D:/usr/tomcat和D:/usr/xampp等替换你主机上的正确路径)

LoadModule jk_module modules/mod_jk.so
JkWorkersFile "D:/usr/xampp/tomcat/conf/workers.properties" 
JkLogFile "D:/usr/tomcat/logs/mod_jk.log" 
JkLogLevel info 
JkMount /servlet/* ajp13 
JkMount /*.jsp ajp13 
JkMount /*.do ajp13 


4. 测试与运行:
(1)在D:\usr\tomcat\webapps\ROOT 新建test.jsp, 编辑test.jsp
hello world!


(2)点击D:\usr\xampp\xampp-control.exe, 调出xampp控制面板
(3)点击apache后面的start按钮, 运行apache,确保apache 显示 Running
(3)务必确保勾上tomcat前面的Svc选框,保证安装上tomcat6服务, 该步骤不能省略
(4)点击tomcat后面的start按钮, 运行tomcat,确保 tomcat显示 Running

(5)地址栏输入http://localhost:8080/test.jsp, 若不显示hello world,说明tomcat启动出错了,检查一次配置
(6)地址栏输入http://localhost/test.jsp, 若出现hello world, 恭喜你, apache集成tomcat成功了!

5. 完美解决的问题: 现在你可以通过xampp-control.exe调用xampp控制面板
然后在控制面板上启用tomcat, 而且还会提示Tomcat Running..., stop..
6. 附件xampp-tomcat-connector.rar里面有所需要的文件代码









1
2
分享到:
评论
2 楼 ygsilence 2012-07-16  
请问,怎么linux版本的xampp怎么整合现有tomcat,谢谢!
1 楼 skanion 2011-09-15  
不知道有没有人用的着,反正我就用着了

相关推荐

Global site tag (gtag.js) - Google Analytics