部署网站项目注意事项
最近需要把前段时间完成的项目部署到一台全新的服务器上交给测试部门做测试,由于以前是边开发便部署,服务器上面都已经安装好了各种各样的软件,包括运行平台和开发工具,因此在部署的时候基本上不会遇到什么问题。
但是如果把整个系统部署到一台裸机上面去的话,注意的问题就多了,需要细细考虑。
这里以一个采用C#语言写的,运行于.net
framework 3.5的平台的网站(多个虚拟目录,每个子系统有各自的web.config)为例,将其部署到一台全新的Windows Server 2003 R2裸机上,具体的部署问题很多,有时莫名其妙,这里不再详述,但是按照如下过程部署的话,则会大大降低部署会产生的错误。
第一步:安装网站运行必备软件
由于是裸机,因此需要考虑该系统很多必备运行软件没有安装。首先考虑的是平台,这里的网站运行于.net framework 3.5下面,因而需要.net framework2.0和.net
framework 3.5。此外,由于一些控件需要.net
framework 3.5 sp1的支持,因此还需要.net framework 3.5 sp支持。(开发工具VS2008有个补丁文件,自动安装了.net framework 3.5 sp)
其次,检查web.config中的sectionGroup节以及assemblies中提到的相关dll文件,这些dll文件需要安装某些软件才能提供,比如system.web.extensions配置节则需要安装Ajax扩展文件;又比如Microsoft.Office.Interop.Excel程序集需要Office中Excel软件的支持。
安装好运行平台,以及web.config中需要的dll所涉及到的相关软件后,接下来就是安装配置WEB服务器,这里需要IIS5.1或者IIS6.0。
接下来,就是数据库的安装(SQL SERVER)。数据库的安装需要.net framework的支持,安装好数据库后的第一件事就是配置该数据库能够远程访问,即named pipes和tcp/ip协议同时启用;采用了SQL Server和Windows身份验证模式;启动了SQL Browser服务;建立了一个拥有sysadmin的登录名。
所有相关软件安装完毕后,就可以配置虚拟目录了,虚拟目录主目录最好就设置为wwwroot,且不要分配IP。如果能够在IIS中浏览相关页面后,基本说明没有问题了。
第二步:配置IE
这次IE给了我们很大的麻烦,由于是裸机,就装了个系统,并自带IE。但是在该IE下访问页面千疮百孔,面目全非,把我们吓了一跳。后来仔细考虑了一下,原来是该系统把IE的安全级别设置的比较高,脚本被禁用,ActiveX控件禁止运行,iframe不能显示等等。
因此出现浏览器问题后,请考虑配置浏览器安全性。
第三步:检查遗漏
经过上面两步,如果还有问题,那么如果是软件逻辑问题就需要在该服务器上安装开发工具调试发现问题了,比如这次我们遇到的单点登录的问题。
这次麻烦的部署过后,让我愈发觉得架构设计不合理、硬编码、不可重用性、不一致对于维护的危害,太折磨人了,哈哈!