`

【转】让web程序也能自动安装

    博客分类:
  • bat
阅读更多

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 全部内容

下面是一个例子,一些信息我删除掉了,不过不影响大局:

Java代码 复制代码 收藏代码
  1. echo off   
  2. set targetDir=d:\myapp\   
  3. xcopy .\component\*.* /s %targetDir%   
  4. xcopy .\app\myapp\*.* /s %targetDir%\apache-tomcat-5.5.27\webapps\myapp\   
  5. xcopy .\app\ImportRun\*.* /s %targetDir%\ImportRun\   
  6. xcopy .\db\*.* /s %targetDir%\db\   
  7.   
  8. echo install tomcat as windows service   
  9.   
  10. cd /d %targetDir%\apache-tomcat-5.5.27\bin\   
  11. call service.bat install   
  12. sc config tomcat5 start= auto   
  13.   
  14. echo install tomcat as windows service --end   
  15.   
  16. echo install mysql as windows service   
  17.   
  18. cd /d %targetDir%\mysql-5.0.67-win32\bin\   
  19. mysqld-nt --install   
  20. net start mysql   
  21. cd /d %targetDir%\apache-tomcat-5.5.27\bin\   
  22. net start tomcat5   
  23.   
  24. cd /d %targetDir%\mysql-5.0.67-win32\bin\   
  25. %targetDir%\mysql-5.0.67-win32\bin\mysql -h localhost -u root < %targetDir%\db\init.sql   
  26. rem change root password   
  27. %targetDir%\mysql-5.0.67-win32\bin\mysqladmin -u root password 1234  
  28. %targetDir%\mysql-5.0.67-win32\bin\mysql -h localhost -u tom -p123456 < %targetDir%\db\mydb.sql   
  29.   
  30. rem install mysql as windows service --end   
  31.   
  32. rem delete dir   
  33. rd /s /q %targetDir%\db   
  34.   
  35. 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

分享到:
评论

相关推荐

    IIS自动安装程序5.1

    该自动安装程序最大程度简化了安装IIS的繁琐步骤,且无须操作系统光盘,直接双击即可自动完成安装,并自动注册asp.net运行环境(如果安装了.net),为基于IIS的软件开发和部署带来了极大的便利。  经过多重病毒...

    web平台安装程序

    web平台安装程序是一个非常酷的产品是一个很小的下载管理程序 - 微软Web平台安装程序(Microsoft Web Platform Installer),它极大地简化了web服务器和web开发设施的安装和配置。它可在Windows XP, Vista, Windows ...

    IIS自动安装程序 For 2003

    该自动安装程序最大程度简化了安装IIS的繁琐步骤,且无须操作系统光盘,直接双击即可自动完成安装,并自动注册asp.net运行环境(如果安装了.net),为基于IIS的软件开发和部署带来了极大的便利。 与IIS相关的常见...

    web程序自动部署

    该小程序可实现web项目的单机自动发布、集群自动发布。 原理:从svn down代码、ant编译、打包项目、上传zip包、代码同步、解压、重启web容器 由于开发的比较着急,代码写的有点乱、忘谅解,仅供参考。 代码分为两...

    实现Java Web程序的自动登录

    实现Java Web程序的自动登录 实现Java Web程序的自动登录

    web平台安装程序5.0_@50_110248.exe

    web平台安装程序5.0_@50_110248.exe 自动方便

    .NET平台下WEB应用程序的部署(安装数据库和自动配置)

    详细介绍ADO.NET平台下WEB应用程序的部署(安装数据库和自动配置),适合初学者

    nsis打包 一键安装javaWEB项目,安装完后重启电脑,tomcat服务自动加载

    在网上找了好多关于Nsis打包JavaWeb和tomcat的方法,都没有能让tomcat服务自动重启的,便自己研究编写了一个方法。供大家参考! 1、实现程序一键安装 2、卸载 3、安装时验证密码 4、应用系统快捷方式启动、注册...

    Acunetix是一款专业的Web安全测试工具,可帮助企业识别和解决Web应用程序中的各种漏洞和安全问题 它采用自动化测试技术

    Acunetix是一款专业的Web安全测试工具,可帮助企业识别和解决Web应用程序中的...它采用自动化测试技术,可快速扫描Web应用程序中可能存在的各种漏洞,让您的网站更加安全,有助于提高企业的安全水平和数据保护能力。

    C# WinFrom与WebServer自动下载程序

    C# WinFrom与WebServer自动下载程序(源码 C#2008) 对于C/S结构程式中自动更新程式是不可缺少部分,但是通过网上查找很难找到相关文档,具体项目实际情况,写了一个C# WinFrom与WebServer自动下载程序 1. winfrom自动与...

    WEB自动更新 NET C#

    WEB 自动更新 NET C# 一个更新程序

    Web程序设计沈士根版课后习题答案资料.docx

    Web 程序设计沈士根版课后习题答案资料 本资源摘要信息涵盖了 Web 程序设计的基础知识点,包括 ASP.NET、.NET Framework、IIS 服务器、HTML、XML、CSS 等技术领域。 1. NET Framework 的组成部分包括公共语言运行...

    利用 web控件自动打开新浪邮箱

    程序代码比较简单,利用ms web浏览器控件实现. 读者可以参阅实现其它需要的功能.作者对web控件和com方便也是不熟悉,与大家共同进步. LonWebSite.avi是运行程序的截的. 另外,希望大家不要修改程序中的那个测试用的...

    Installshield程序打包之web程序数据库.pdf

    这样,使用InstallShield11.5,我们成功创建了一个web程序数据库的安装包,该安装包可以实现检查服务器是否安装Microsoft.Net Framework 2.0、在IIS中建立站点、在MS SQL Server中建立数据库,并初始化数据,同时将...

    vs2005部署web应用程序详解

    VS2005部署web应用程序很多文档介绍的都不是很全,这里介绍了如何添加外部引用自动部署安装,自定义系统必备程序的使用等。

    IIS自动安装程序 V5.1 for 黑吧论坛

    该自动安装程序最大程度简化了安装IIS的繁琐步骤,且无须操作系统光盘,直接双击即可自动完成安装,并自动注册asp.net运行环境(如果安装了.net),为基于IIS的软件开发和部署带来了极大的便利。  先运行IIS一键...

    Web客户端应用程序性能测试自动化研究

    性能测试自动化,web应用程序

    Selenium+java进行web自动化.doc

    《Selenium+java进行web自动化.doc》文档中介绍了Java的安装、Selenium IDE的安装、Selenium的使用、元素操作等。 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作...

    vs 2005 web.config不能自动生成的问题

    2,由于VS2005对于web.config的管理是基于提供程序(sqlProvider)的,所以要指定的提供程序一般是依赖于一个SQL SERVER的数据库实例,所以最重要的就是要启动这个实例,然后一切问题谅可以迎刃而解了. ...

    Microsoft.NET Web应用程序性能测试

    自动化测试.NET WEB应用程序的性能测试

Global site tag (gtag.js) - Google Analytics