本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yangzl0123/archive/2010/03/11/5370282.aspx
tomcat+jdk+mysql免安装的整合形式
一: tomcat+jdk 免安装
很久以前就开始用 tomcat 的免安装版(zip 解压版)。直接运行 bin/startup.bat 的方式运行,有一个不好的地方就是注销登录用户程序就退出了。比如 windows 2003 server 版中运行 tomcat 以提供对外服务,很可能管理员启动了 tomcat 后就退出 windows 2003 server。这样 tomcat 也随之退出. 以 windows 服务的方式运行就不会,也可方便地设置开机运行.
免安装的jdk + tomcat发布应用程序步骤
一、拷贝一个安装后的jdk .如:jdk1.6.0_10(拷贝bin, include, lib,jre四个文件夹,
网上也有人没有加jre文件夹,反正都可以试一试)
二、拷贝一个绿色免安装的tomcat .如:apache-tomcat-6.0.18
三、把jdk放到tomcat下面,如:apache-tomcat-6.0.18 \ jdk1.6.0_10
四、修改相关的bat文件(我这里用两种方式来启动: startup.bat方式和服务方式)
方式①:startup.bat方式来启动tomcat
只要修改apache-tomcat-6.0.18 \bin\startup.bat 即可,修改内容如下:
在set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
之间(如果没有改变过文件,应该是在25行和26行之间) 加入下面内容:
set JAVA_HOME=%CURRENT_DIR%\jdk1.6.0_10
if exist "%JAVA_HOME%" goto gogoTomcat
cd ..
set JAVA_HOME=%cd%\jdk1.6.0_10
cd %CURRENT_DIR%
:gogoTomcat
方式②:用服务的方式来启动tomcat
1、 修改配置文件,安装tomcat服务
这里示例一下安装,cd 在 tomcat_home,如:N:/apache-tomcat-6.0.18
1. N:\apache-tomcat-6.0.18>bin\service.bat install mytomcat
2. Installing the service 'mytomcat' ...
3. Using CATALINA_HOME: N:\apache-tomcat-6.0.18
4. Using CATALINA_BASE: N:\apache-tomcat-6.0.18
5. Using JAVA_HOME: N:\apache-tomcat-6.0.18\jdk1.6.0_10
6. Using JVM: N:\apache-tomcat-6.0.18\jdk1.6.0_10\jre\bin\server\jvm.dll
7. The service 'mytomcat' has been installed.
这里做一下说明, mytomcat是自定义的服务名,如果直接bin\service.bat install,也是可以的,服务名默认就是你tomcat的版本,比如我的apache-tomcat-6.0.18,这样服务名就是tomcat6.
这样在(控制面板->管理工具->服务)中可以看到名为 Apache Tomcat mytomcat 的服务了。
右击“Apache Tomcat mytomcat”-> 属性,在“启动类型”里选择“自动”,就可以在开机的时候自动运行。
这里的自动也可以在bin/service.bat中设置:
修改service.bat,找到下面这句
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256
加上一个参数 --Startup=auto,变成
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256 --Startup=auto 这样就可以变成自动了,使得免安装也可以实现了开机启动服务
默认的 jvm 内存大小:最大 256M;最小 128M。用
--JvmMs 128 --JvmMx 256指定的,也可以修改它,在 bin/service.bat 大概在最后面几行,保存重新安装一下(虽然 Apache Tomcat mytomcat 的服务属性里有 “启动参数”设置,但是不会用)。
到这里方式②的配置就算完成了.点击tomcat6w.exe看看tomcat的运行情况
2、 删除服务
想删除服务的话可以service.bat remove mytomcat(如果安装时没加服务名的话,这里也不用加).
1. N:\apache-tomcat-6.0.18>bin\service.bat remove mytomcat
2. The service 'mytomcat' has been removed
3、 设置桌面快捷方式
为了方便也可以在桌面创建一个快捷方式
在tomcat\bin下找到 tomcat6w.exe,新建一个 tomcat6w.exe 的快捷方式,
右键单击属性,修改" 目标(T): " 为 " N:\apache-tomcat-6.0.18\bin\tomcat6w.exe //MS// mytomcat"
" //MS// mytomcat" 即为所加内容,安装的时候是
N:\apache-tomcat-6.0.18>bin\service.bat install
也就是没有输入服务名,那就写上tomcat的版本名,我的是tomcat6,即输入://MS//tomcat6
4、 可能会出现的问题
我自己实践的时候,JAVA_HOME好像有点问题,于是我就编辑了service.bat文件,在33和34之间加入了定义JAVA_HOME的代码.
在set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
之间加入代码和方式①中加入的代码一样的
set JAVA_HOME=%CURRENT_DIR%\jdk1.6.0_10
if exist "%JAVA_HOME%" goto gogoTomcat
cd ..
set JAVA_HOME=%cd%\jdk1.6.0_10
cd %CURRENT_DIR%
:gogoTomcat
参考
http://sunrain-lyb.javaeye.com/blog/410568
http://blog.chenlb.com/2009/07/noinstall-tomcat-run-in-windows-service.html
在google搜索关键字: tomcat 免安装 服务
二: mysql免安装(mysql-noinstall-5.1.40-win32.zip)
将MySQL全部的安装备份目录拷贝到目标目录
1、 修改配置文件
打开MySQL的安装目录里my.ini,确保basedir和datadir的路径是你MySQL目标目录的路径
basedir="C:/Program Files/MySQL/MySQL Server 5.0/"
datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"
这里的路径使用正斜线,而非反斜线;如果使用反斜线,必须成对使用
basedir=E:/mysql datadir=E:/mydata/data
或者 basedir=E:\\mysql datadir=E:\\mydata\\data
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"
2、 将mysql作为系统的services 安装, 卸载, 启动,停止
在windows系统,建议将mysql启动为系统服务,这样系统启动关闭的时候自动启动关闭mysql
以下步骤将mysql作为系统的services
N:\ MySQL Server 5.1>bin\ mysqld --install MySQL --defaults-file=C:\my-opts.cnf
其中“MySQL”作为系统服务的名字
如果不提供“--defaults-file”参数,则系统采用mysql缺省的配置文件进行服务配置,也可以使用该参数配置系统服务
使用mysql services运行方式的时候,在console不能看到系统的出错信息。这些错误信息可以在“%YOUR_MYSQL_PATH\data”目录下找到,文件的后缀是“.err”
当mysql作为系统的services使用时,可以使用下面的命令启动和停止mysql服务:
启动:net start mysql
停止:net stop mysql
你可以使用下面的命令,将mysql services安装为一个手动启动的服务:
mysqld --install-manual
去除mysql services,先使用“net stop mysql”停止服务,然后使用命令“mysqld --remove”去除服务
或者sc delete mysql(其中“mysql”作为系统服务的名字)
3、 测试mysql的安装
N:\ MySQL Server 5.1>bin\mysql -uroot -padmin
4、 遇到1067的问题
MySQL 服务正在启动 .
MySQL 服务无法启动。
系统出错。
发生系统错误 1067。
进程意外终止。
先是在google找了,很久,搜索关键字:mysql 免安装 发生系统错误 1067,找了半天,一点都没有效果.
后来发现\data目录下有个.err的文件.里面是这样的:
100310 17:23:34 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Error: log file .\ib_logfile0 is of different size 0 10485760 bytes
InnoDB: than specified in the .cnf file 0 20971520 bytes!
100310 17:23:34 [ERROR] Plugin 'InnoDB' init function returned error.
100310 17:23:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
100310 17:23:34 [ERROR] Unknown/unsupported table type: INNODB
100310 17:23:34 [ERROR] Aborting
才发现问题所在,以Plugin 'InnoDB' init function returned error. 为关键字,在google上搜到csdn一篇不错的文章. http://topic.csdn.net/u/20080724/18/00c3f80f-464d-4b59-a659-53adcb12aef0.html
里面有两种解决方案:
一:在你的配置文件里面写上 [mysqld] skip-innodb 重新启动就好了(这个我试了试,不行)
二:直接把ibdata 以及ib_logfile0、ib_logfile1删掉再启动就好了(Ok,这个就解决了我的问题)