[2011 年终项目总结] 第八章、上线准备

  此系列文章总结了我在2011年所负责项目的收获,主要包含了“团队建设环境搭建、功能设计(未发布)、架构设计迭代开发网站测试运维管理”,从这七方面总结一个互联网项目从创建到上线的主要过程(不包含策划和运营的工作)。本章主要介绍项目在上线前需要准备的一些工作和注意事项,另外根据项目的性质不同,需要准备的工作也会有差别,接下来所要介绍的内容只限于个人观点。

  1.1 准备工作

  1.1.1 域名注册

  有兴趣的朋友可以补补功课“域名”,在域名注册前后需要注意以下事项:

  • 域名来源通常由项目创始人在开启项目前就已经注册了,或者成立公司后由“核心员工”根据项目信息商讨使用什么域名。当确定项目的“域名组成”后可以通过 “域名提供商”查询域名是否被注册,没有注册则选择服务比较好的服务商进行注册,如果域名已经被注册,可以根据公司情况协商是否要通过交易平台购买此域名。域名注册时要注意域名的“所属人、版权信息、联系方式”等信息,防止域名后期产生版权争论。
  • 在互联网行业中,为了方便域名的记忆和推广,多数根据项目信息来决定域名,但是也有些项目是先注册了域名,再根据域名来开展项目的具体有哪些产品,这样就会导致域名约束项目的发展,一定要避免这种情况的发生。
  • 注册域名前也要考虑此域名在之前是否有被使用过,可以通过搜索引擎进行查看,防止域名对项目本身的推广产生影响。
  • 域名在注册成功后,需要删除域名的默认DNS绑定信息。
  • 为了防止项目后期受到竞争对手模仿或个人利用,要注册和项目主域名有关的受保护域名,比如主域名为“xxx.com”,根据需求注册其它后缀的域名 “xxx.cn、xxx.net、xxx.com.cn、xxx.org等”,如果不受资金的约束,可以同时注册和项目有关的域名。

  推荐域名注册商:

  1.1.2 IDC服务商

   域名问题解决后,紧接着在网站上线前要解决选择IDC服务商的问题,根据项目的情况选择“虚拟主机(云)、VPS、服务器托管”,如果选择“虚拟主机 (云)”或者“VPS”,可以根据项目的“用户群”选择一些优秀的IDC提供商。我们目前选择“服务器托管”,考虑到现场安装、维护等问题,就需要在当地 选择一些优秀的机房来托管服务器。

  在选择IDC服务商时,要考虑到机房所提供的“带宽、防火墙、内部网络环境、服务条款”等问题,注意协议上的条款和行业潜规则,在选择带宽时,要根据需求购买。

  注:由于地区问题,我们所在地区除了电信和网通机房外,没几家公司真正自建机房,所以很多时候是没得选的……

  1.1.3 网站备案

   目前网站备案是越来越麻烦了,网上流行说“备个案比领结婚证还麻烦”,所以网站在上线前一个月就要开始网站的备案工作。首先打开备案申请网站“工业和信息化部”了解一些流程文档,现在的IDC服务商都提供备案接入平台,同IDC服务商良好的沟 通可以加快网站备案的速度。网站备案时需要注意主域名的填写,以及域名所属人及IDC服务商的信息。

  注:一定不能忽视网站备案问题,避免网站上线时因为备案问题导致上线延迟。

  1.1.4 运维部署

   选择完IDC服务商后,就要开始项目物理环境的部署,由运维人员和IDC服务人员进行协调沟通,完成物理架构的部署,以及系统环境的搭配和配置,参考 “第七章、运维管理”。

  1.2 项目部署

  当准备工作都完成后,就要开始项目的部署工作,项目部署前要完成项目的开发和测试。

  1.2.1 数据迁移

  此处所指的数据迁移只是把“上线前”内部准备的数据(数据库、图片、文件)迁移到线上环境,如果前期在内部模拟和线上同样的环境,在上线时的数据迁移工作就会很轻松,只需要将数据复制到目标环境。目前的数据迁移工作比较简单,迁移内容如下:

  • 数据库:备份本地的数据库,然后还原到远程数据库服务器,也可以采用数据导入/导出来完成。
  • 图片:打包本地图片为zip,复制到远程图片服务器指定磁盘目录中,如果图片量比较大,可以由运维人员通过存储设备复制到IDC机房进行部署。
  • 文件:主要包括项目的静态资源和专题文件,同样采用远程复制即可,注意部署前要考虑到是否为最新版本或优化(压缩)过的文件。

  1.2.2 项目发布

  首次进行项目发布时,应该由开发人员进行发布部署,开发人员从源代码版本控制中提取最新的已经测试的版本,按照线上的环境进行发布程序,并部署到线上环境中。项目发布到线上环境时需要注意以下事项:

  • 动态编译:根据环境(测试、模拟、线上)的不同,如果程序中有动态引用的Services,就需要在发布前重新动态引用。
  • 发布配置:前不久刚阅读完《持续交付》这本书,书中多次强调要做好项目的配置管理工作,只有打好这个基础才能在后期完成持续集成中的自动化工作。项目发布时要根据线上环境修改项目的配置文件,并在配置说明书中讲清楚每个节点的作用,方便运维人员以后维护。在项目发布并可以稳定运行后,运维人员需要对配置文件进行备份,并且每次升级前都应该备份。
  • 合并优化:在项目生产环境时,为了方便开发和调试,会在项目中使用大量的插件和注释,项目发布时需要对已发布的程序进行优化,比如“资源文件的压缩合并、删除非编译文件的注释和调试文件”。
  • 初始设置:使用VS在发布项目时,需要把发布模式修改为“Release”,注意在“Debug”发布后修改web.config为“Release”是不行的。另外在项目发布时要注意项目的初始设置是否生效,比如“错误页、404、302”等。
  • 冒烟测试:项目发布并部署完成后,开发人员可以简单对项目的核心功能进行“冒烟测试”,查看项目是否可以正常运行。

  1.2.3 运维管理

  项目发布后,运维人员要开始对网络、操作系统、应用软件进行“封存”配置,主要的配置信息如下:

  • 硬件防火墙的规则及VPN访问权限设置、操作系统用户权限和防火墙的过滤规则,数据库服务器及软件的配置和安全设置(DBA)。
  • IIS站点的初始设置和网站目录的访问权限设置,对相关域名进行绑定(暂时不对外开放)。
  • 监控软件及应用程序的运行配置。

  可以参考“第七章、运维管理

  1.2.4 线上测试(内)和数据初始化

   项目发布后,此时站点还没有对外开放,内部人员通过VPN连接到远程机房,通过内部DNS访问“线上”的项目进行测试工作,因为线下已经对发布的项目进行了完全测试,此时的测试可以根据时间关系进行适当的冒烟测试,具体测试方法可以参考“第六章、网站测试”。

  线上测试后如果没有发现问题,此时管理员需要对测试数据进行初始化,数据初始化还包括编辑对网站内容的推荐,保证网站上线后是“丰满的”。

  1.2.5 数据备份

  在所有工作都准备结束后,运维人员要对线上发布的可运行程序及数据进行备份,“第七章、运维管理”介绍有数据备份方案。

  1.3 其它工作

  完成以上工作后,可以开通域名解析,对外公开访问权限。在项目对外公开访问前/后,根据项目的性质选择性检查以下工作是否完成:

  • 第三方服务:数据统计(Google Analytics)、网站管理工具(Google)、网站监控(监控宝)等。
  • SEO相关工作:生成网站地图(属于功能模块)、“robots.txt”设置、各大搜索引擎提交网站等。
  • 性能分析:网站各地区访问速度测试(webkaka)、前端优化检查(yslow
  • 其它检查:收藏夹图标(favicon)、Apple Mobile Web Clips Icon、死链接检查(Xenu)

  本系列目录:2011 年终项目总结

posted @ 2012-02-16 07:20  Astar  阅读(2737)  评论(3编辑  收藏