1、要求
我们的web程序使用 tomcat 作为应用服务器,数据库为 mysql。前端不会使用 apache或iis。而且程序是运行在 windows 里。java的版本是jdk1.5,同时,在系统安装的时候,需要导入一些数据,这些都是我们帮助客户录入的,因为客户觉得录入太麻烦了(跑题了 )
2、思路
既然客户要求自动安装,那么无非就是自动安装 tomcat, mysql, jdk, 我们的web应用,以及导入客户的数据。但是我们的客户对电脑完全不懂,所以,如果安装过程中,出现 tomcat 那种的“下一步”操作,是绝对不行的。最好是一气呵成,点完安装,一切ok,打开浏览器,就能访问。
图形的当然最好,不过俺还是想省点事,交流之后客户能够接受批处理文件。那么就用批处理编写安装程序。
3、自动安装 jdk
因为 jdk 是 tomcat 的必要环境,所以先考虑这个。其实这个最简单了,拷贝一份安装过的jdk就可以了,一般 c:\programe files\java 目录里有两个目录:jdk1.5.0_12 和
jre1.5.0_12,我们只需要 jdk1.5.0_12 目录就行了。至于为什么不是 jre1.5.0_12?稍后在安装 tomcat 的时候会提到。
4、自动安装 tomcat
这个部分非常简单,网上也有详细的资料。无非就是下载一个tomcat的免安装版本,然后运行 service.bat ,将tomcat安装为服务。
不过因为我们之前并没有安装过 jdk(仅仅是拷贝),所以这样的tomcat是一定运行不起来的。我们需要修改 catalina.bat, startup.bat, service.bat 这三个文件,在其中加入 JAVA_HOME 这个环境变量。
例如,我们把 jdk 拷贝到了 d:\myapp\java 目录,那么就在那三个批处理里增加:
set JAVA_HOME=d:\myapp\java
(不过,如果你的jdk目录与tomcat目录是有规则的放置的话,使用 CATALINA_HOME 这个环境变量是更好的方式,例如 set JAVA_HOME=%CATALINA_HOME%\..\java)
如果你仔细看看 service.bat 文件,就会发现,里面还使用了 JAVA_HOME\jre 这样的路径,所以,就如上面所说,如果你使用 jre1.5.0_12 就无法启动 service.bat 了,即使提示你服务安装成功,也无法启动。但是 startup.bat 是可以启动的。
所以,一句话,为了简单,省事,直接使用 jdk1.5.0_12 这样的目录就行了!
5、自动安装 mysql
这部分的资料网上很多,无非是下载免安装版本的mysql。但是通常你花费点时间才发现,免安装版本的mysql里不带 my.ini 文件,没有这个文件是不能启动mysql的。从你的安装过的版本里拷贝一个出来吧,修改一下其中的配置。
另外,这个文件也不用放到什么 windows 目录下,看到有许多文章就是这么误导人。放在mysql 目录里就行了。
6、安装我们的web应用以及导入数据
安装web应用太简单了,拷贝到tomcat目录下就行了。
导入数据也很简单。
我们首先准备一个 init.sql。 这个文件里写上创建数据库的语句,以及建立新用户的语句。
然后使用:
mysql -h localhost -u root < init.sql
(之所以可以这么做,是因为root的口令在最初是空的)
假设我们建立的用户是 tom,密码是 123456,而且录入的数据已经使用mysqldump导出了,例如叫 mydb.sql,接下来我们就导入数据:
mysql -h localhost -u tom -p123456 < mydb.sql
7、注意事项
在 tomcat 安装为服务后,它是不会自己启动的,得使用 net start tomcat5 让它启动。而且,这个服务也不是开机自动启动的,得使用 sc config tomcat5 start= auto 让它成为自动启动的服务。(注意 start= auto “=”和“auto”之间有空格)
同样,mysql 也不会自己启动,必须 net start mysql。不过mysql的服务默认就是开机启动的。
mysql还有一个问题。如果你启动 mysql 服务后,立刻去连接mysql,有的时候会出现连接不上的错误,当然,可以在 启动 mysql 服务和连接mysql之间加一个延迟,不过那太麻烦了,所以,我们变通一下,先启动 mysql,再启动 tomcat, 再连接 mysql 。
ok,最后别忘了给 mysql 的 root 用户设置一个密码!
8、setup.bat 全部内容
下面是一个例子,一些信息我删除掉了,不过不影响大局:
- echo off
- set targetDir=d:\myapp\
- xcopy .\component\*.* /s %targetDir%
- xcopy .\app\myapp\*.* /s %targetDir%\apache-tomcat-5.5.27\webapps\myapp\
- xcopy .\app\ImportRun\*.* /s %targetDir%\ImportRun\
- xcopy .\db\*.* /s %targetDir%\db\
- echo install tomcat as windows service
- cd /d %targetDir%\apache-tomcat-5.5.27\bin\
- call service.bat install
- sc config tomcat5 start= auto
- echo install tomcat as windows service --end
- echo install mysql as windows service
- cd /d %targetDir%\mysql-5.0.67-win32\bin\
- mysqld-nt --install
- net start mysql
- cd /d %targetDir%\apache-tomcat-5.5.27\bin\
- net start tomcat5
- cd /d %targetDir%\mysql-5.0.67-win32\bin\
- %targetDir%\mysql-5.0.67-win32\bin\mysql -h localhost -u root < %targetDir%\db\init.sql
- rem change root password
- %targetDir%\mysql-5.0.67-win32\bin\mysqladmin -u root password 1234
- %targetDir%\mysql-5.0.67-win32\bin\mysql -h localhost -u tom -p123456 < %targetDir%\db\mydb.sql
- rem install mysql as windows service --end
- rem delete dir
- rd /s /q %targetDir%\db
- pause
echo off set targetDir=d:\myapp\ xcopy .\component\*.* /s %targetDir% xcopy .\app\myapp\*.* /s %targetDir%\apache-tomcat-5.5.27\webapps\myapp\ xcopy .\app\ImportRun\*.* /s %targetDir%\ImportRun\ xcopy .\db\*.* /s %targetDir%\db\ echo install tomcat as windows service cd /d %targetDir%\apache-tomcat-5.5.27\bin\ call service.bat install sc config tomcat5 start= auto echo install tomcat as windows service --end echo install mysql as windows service cd /d %targetDir%\mysql-5.0.67-win32\bin\ mysqld-nt --install net start mysql cd /d %targetDir%\apache-tomcat-5.5.27\bin\ net start tomcat5 cd /d %targetDir%\mysql-5.0.67-win32\bin\ %targetDir%\mysql-5.0.67-win32\bin\mysql -h localhost -u root < %targetDir%\db\init.sql rem change root password %targetDir%\mysql-5.0.67-win32\bin\mysqladmin -u root password 1234 %targetDir%\mysql-5.0.67-win32\bin\mysql -h localhost -u tom -p123456 < %targetDir%\db\mydb.sql rem install mysql as windows service --end rem delete dir rd /s /q %targetDir%\db pause
9、其他
客户运行上面的批处理,web程序就自动安装了。不过我们还可以改进,例如在桌面创建访问web应用的快捷方式,这样客户连地址都不用记住了。
不过因为我们的应用没有涉及到 apache 与 iis,这两者的自动安装没有研究,如果有搞过的希望也能分享一下呀!
这个自动安装仅仅适用windows,linux下的情况我想也是大同小异,没有搞过。
转自:http://www.iteye.com/topic/262008
相关推荐
web平台安装程序是一个非常酷的产品是一个很小的下载管理程序 - 微软Web平台安装程序(Microsoft Web Platform Installer),它极大地简化了web服务器和web开发设施的安装和配置。它可在Windows XP, Vista, Windows ...
在IT行业中,Web安装程序是用于自动化Web应用程序部署的关键工具。它们简化了复杂的过程,如安装数据库、配置IIS(Internet Information Services)站点以及编辑配置文件。本文将深入探讨"Web安装程序安装程序类"这...
该自动安装程序最大程度简化了安装IIS的繁琐步骤,且无须操作系统光盘,直接双击即可自动完成安装,并自动注册asp.net运行环境(如果安装了.net),为基于IIS的软件开发和部署带来了极大的便利。 经过多重病毒...
9. **自动化部署**:通过批处理脚本或持续集成工具(如TeamCity、Jenkins),可以实现Web安装程序的自动化构建和部署。 10. **更新和卸载**:安装程序应提供方便的更新机制,以及清晰的卸载选项,以便用户能够轻松...
**IIS(Internet ...而一键自动安装的工具则为这一过程提供了便利,使非专业人员也能相对轻松地部署和管理Web服务。在实际操作中,了解IIS的基本结构和配置方法仍然是非常重要的,以便更好地管理和维护Web服务。
web平台安装程序5.0_@50_110248.exe 自动方便
### pb程序转换为web程序的关键知识点 #### 一、引言 随着互联网技术的发展与普及,企业对于将现有的PowerBuilder应用程序迁移到Web平台的需求日益增长。PowerBuilder是一种强大的客户端/服务器开发工具,但在...
该自动安装程序最大程度简化了安装IIS的繁琐步骤,且无须操作系统光盘,直接双击即可自动完成安装,并自动注册asp.net运行环境(如果安装了.net),为基于IIS的软件开发和部署带来了极大的便利。 与IIS相关的常见...
当我们谈论"PHP程序自动安装实例"时,我们通常是指一种能够简化PHP应用程序部署过程的方法。这种自动安装程序通常包括一系列步骤,使得用户或开发者无需手动配置所有依赖和设置,即可快速、高效地完成应用的安装。 ...
"簡單實现在線安裝Web程序"这个主题旨在提供一种简易方法,让初学者和经验丰富的开发者都能轻松完成在线安装流程。以下是一些关键知识点,涵盖了从基础到进阶的Web应用部署策略: 1. **Web应用程序**: Web应用程序...
该小程序可实现web项目的单机自动发布、集群自动发布。 原理:从svn down代码、ant编译、打包项目、上传zip包、代码同步、解压、重启web容器 由于开发的比较着急,代码写的有点乱、忘谅解,仅供参考。 代码分为两...
### 如何使用Visual Studio 2005创建Web安装程序 在进行Web应用程序开发时,完成项目的最后一步往往是部署到生产环境中。对于使用C#语言和Visual Studio 2005开发的应用程序而言,制作一个方便快捷的安装程序至关...
实现Java Web程序的自动登录 实现Java Web程序的自动登录
通过以上步骤,你就能使用InstallShield有效地打包Web程序,使得用户能够轻松地安装和运行。记住,良好的打包策略不仅可以提升用户体验,也是产品专业性的体现。不断学习和实践,你将能掌握更多关于Web程序打包的...
根据给定文件内容,我们可以提炼出以下知识点: 1. InstallShield介绍: InstallShield是一款广泛使用的安装程序制作软件,...通过这些步骤,可以完成一个Web安装程序的开发过程,使其具备远程下载和自动部署的能力。
在本篇文章中,我们将重点关注在.NET环境下如何部署Web应用程序,特别是涉及数据库安装和自动配置的部分,这对于初学者来说是至关重要的实践知识。 首先,让我们了解一下.NET平台。它是由微软开发的一系列技术框架...
这款工具是Visual Studio 2008家族的一员,主要面向初学者和中小型企业,提供了易用的界面和丰富的功能,让开发者能够轻松创建动态网站、ASP.NET网页以及Web应用程序。 1. **Visual Studio 2008家族成员**:VWD ...
本文主要关注使用.NET SDK创建Web应用程序,尽管Visual Studio.NET 2005提供了一种便捷的方式,但通过SDK直接创建应用程序能深入理解其底层机制。 4.1 使用Visual Studio.NET创建Web应用程序 在Visual Studio.NET ...
Web自动化测试是一种让计算机程序自动执行Web应用的测试过程,以替代或辅助人工执行测试任务的技术。它能大幅提高测试效率,缩短测试周期,并能保证产品质量。Web自动化测试主要分为黑盒测试、灰盒测试和白盒测试三...
4. **一键安装程序**:这种程序简化了复杂的安装过程,通过自动化脚本或程序,使得非技术人员也能轻松完成软件安装。 5. **阅读说明**:在使用任何软件或安装程序前,阅读相关说明是非常重要的,因为它们包含了操作...