2006,带着手册去装服务器

带着安装手册在机房安装服务器

那几年去客户现场做项目,经常要从安装一台服务器开始。

客户采购的机器一般是IBM或者浪潮的。服务器买回来,操作系统还没有装,后面的网站系统当然也无从谈起。这些事情都要由我们来做。

我最初进大汉网络的时候,做的是网页设计,后来慢慢开始接触实施。以前主要关心一个页面应该怎样布局,新闻放在哪里,导航做成什么样。等到自己做实施,才发现网站背后还有那么多事情。

先得和客户商量清楚整个网站的栏目结构,哪些内容放在哪个栏目,信息怎么组织。之后还要把公司的CMS装起来,配置模板、标签,最后把内容放进去。

只不过,想把CMS装起来,得先让服务器能跑起来。

当时我们常用Red Hat Linux,数据库可能是DB2,也可能是Oracle。Java的应用服务器则经常使用IBM WebSphere。

现在回头看,这套东西相当复杂。操作系统、数据库、中间件,一个接一个,有时候还得现场编译一些程序。

最麻烦的是,有些客户现场根本没有可以使用的互联网。

今天碰到安装问题,随手搜一下,大概就能找到不少答案。那时候不行。我们主要依靠公司给的安装操作手册,照着上面的步骤,一项一项往下做。

顺利的时候还好。一旦某个地方装不上,或者出现手册里没有写过的错误,就比较麻烦了。

实在解决不了,只好打电话回公司。

那个时候,公司里没有现在这种专门叫作“运维”的岗位,倒是有一个大家都熟悉的角色,叫网管。

我一直觉得网管很厉害。

服务器安装、系统配置、软件编译,似乎没有什么是他们不懂的。我们在现场遇到解决不了的问题,最后往往还得请教他们。

当然,后来出去做项目才知道,厉害的技术人员远远不止公司里的这几位。

杭州遇到的高手

有一次在杭州做项目,客户使用的不是我们比较熟悉的Linux,而是Sun公司的Solaris。

那几年,Sun还是服务器市场上很有名气的公司。Solaris是一套Unix操作系统,和我们平时接触的Red Hat Linux不太一样。

系统换了,很多原来熟悉的安装办法也不一定能照搬。

我记得当时有些东西装不上,还有一个涉及IP地址动态漂移的问题。具体的技术细节,过了这么多年已经记不太清楚,只记得我们折腾了很久,还是没有搞定。

后来客户说,他们那里有一位技术很厉害的网络管理员。

人来了以后,几分钟就把问题解决了。

这件事我记到现在。

并不是因为那个问题本身有多么特别,而是当时真切地感觉到,同样一套系统,在我们看来麻烦得不得了,到了熟悉它的人手里,几下就处理好了。

我不知道那位网管此前处理过多少类似的问题。但能把复杂的事情处理得这么轻松,肯定不是临时翻几页手册就能做到的。

那时候,我开始接触到越来越多这样的人。

大汉的项目经理、实施人员、网管,客户那边的信息中心工作人员,还有一些专门负责某个领域的工程师。每个人熟悉的东西都不一样。

跟着他们做事,除了知道一个项目应该怎样完成,也能看到很多自己以前没有接触过的技术。

而且,带我们出去做项目的那些前辈,教的也不全是技术。

有一次,一位项目经理大哥说起他以前在深圳做政府项目的经历。

当时对接的是政府信息中心的一位工作人员,正好眼睛发炎了。他身上随时备着一些常用药,其中就有眼药膏,知道这件事以后,便拿出来给对方用。

对方很感激。后来项目里有些事情需要沟通,对方也给予了不少照顾。

这是一件很小的事情。

但我一直记得他随身带药的习惯。经常在外面跑项目的人,慢慢会形成一些自己的经验。事情不一定都发生在会议室里,也不一定总有一份文档可以照着执行。

有些时候,只是碰巧有人需要帮忙,而你正好能帮上一点。

这些前辈比我们早做了很多年项目,遇到过各种各样的人和事情。我们跟着出去,很多东西都是在做事的过程中慢慢学的。

写网页的人,也想学Java

那时候,实施人员也经常讨论以后的出路。

有人想转销售,有人想转开发。大家普遍觉得,实施不是一份能一直干下去的工作。

尤其是转研发,对不少实施人员来说很有吸引力。

在杭州做项目时,有位项目经理主管就希望我们这些做实施的年轻人去学Java,最好能自己写一点简单的程序。

他的想法也有道理。

项目到了客户现场,难免遇到一些小的修改需求。如果实施人员自己懂开发,能够现场处理,就不用每件事都找研发人员。

可实际做起来,并没有那么容易。

那时候Java对我来说,还是一门不太好学的语言。

我之前的精力主要放在设计和前端。Photoshop、HTML、CSS,这些才是我每天接触最多的东西。

Java则是另一套东西。

当时做Java网站,JSP还很流行。网页里的HTML我能看懂,但一旦涉及Java程序、数据库和后端逻辑,就不那么熟悉了。

我知道这些技术有用,也希望自己多学一些,不过并没有真的转去学Java开发。每天的工作已经占去不少精力,我的兴趣仍然主要集中在页面和前端上。

倒是之前开始学习的CSS,真的在项目中派上了用场。

那时候,很多网页上的下拉菜单、弹出菜单,还是通过JavaScript实现的。有些甚至需要配合图片,才能做出鼠标移上去以后的变化。

而大汉的CMS虽然允许我们插入一些自定义代码,但我记得当时有些地方不允许运行JavaScript。

偏偏在一个政府网站项目里,又需要实现一种原来没有的弹出式菜单。

如果沿用以前的办法,可能要修改原来的页面,甚至重新做一部分功能。

我想,能不能只用CSS来实现?

那段时间,蓝色理想是我经常关注的网页设计网站。我记得上面有过类似的案例。

CSS里有一个叫:hover的伪类,可以根据鼠标是否停留在某个元素上,改变它的显示样式。

平时只是用来改变链接颜色,或者切换背景图片。

但如果把它用在菜单上,就可以控制另外一部分内容的显示和隐藏。鼠标移过去,菜单出现;移开,菜单收起。还可以通过background改变菜单的背景效果。

当然,那时候不同浏览器对CSS的支持并不完全一样,具体怎样写还得考虑实际页面的结构。但在那个项目里,我最终用CSS实现了需要的效果,不必为了一个菜单重新改动整个页面。

这件事情让我挺高兴。

前些时候,我在豆瓣上从一个大学生手里买过一本《网站重构》。书里讲的那些HTML、CSS和Web标准,原来真的可以拿来解决工作中的问题。

比起单纯记住一个新的技术名词,这种感觉更实在。

几个小时的百度工程师

也是在山东的一个政府网站项目里,我接触到了百度的工程师。

那时候,我自己上网搜索还是习惯使用Google。

百度当然已经很有名气了,但我个人并没有因为它越来越流行,就马上改变自己的使用习惯。

这次接触百度,倒不是因为我要换一个搜索引擎,而是因为政府网站需要站内全文检索。

我们做网站实施,往往要把整个网站的栏目、模板以及相关内容配置好。栏目多的时候,工作非常琐碎,需要一项项检查。

百度的工程师负责的事情则不同。

我记得他到现场大概只用了几个小时,把搜索需要的索引建立起来,再配置好定时更新索引的任务,事情就基本完成了。

然后他就可以离开了。

当然,他负责的只是搜索这一部分,和我们配置整个网站的工作不能直接比较。但当时看见有人专门过来做全文检索,而且很快就完成部署,还是留下了印象。

其实大汉自己也有搜索系统。

那套系统是用Java开发的。我们并不觉得它有什么明显的问题,普通的站内搜索需求也可以满足。

我还专门问过熟悉这套系统的工程师,我们的搜索和百度究竟有什么区别。

他提到了两点。

一是中文分词。

中文不像英文,词与词之间没有天然的空格。搜索引擎需要判断一串汉字应该怎样切分,才能找到真正相关的内容。

另一点是建立索引的速度。

百度在这方面做得更快,全文检索的分词效果也更好。

这些东西,普通用户大概不会特别关心。

在网页上输入几个字,按一下搜索,出来的结果是不是自己想找的东西,通常就是大家最直接的判断。

但我们自己也在做网站,知道这背后还有另一套技术。

那几年,百度和Google在中国搜索市场的竞争越来越激烈。我作为一个普通用户,依然更习惯Google;作为一个做网站的人,又在政府项目里亲眼见到了百度的搜索技术。

以前在浏览器里使用的一个功能,突然和自己每天做的项目联系了起来。

不过,这还没有让我转去研究搜索引擎。

比起分词算法和索引技术,我还是更熟悉CSS、HTML,以及眼前那些需要完成的网站。

还在做网站

回头看,在大汉的那几年,我接触的事情比刚开始做网页设计时多了很多。

原来做一个网站,不只是把页面设计出来。

前面有人要和客户沟通,确定栏目和内容;后面有服务器、操作系统、数据库和中间件。实施人员要把这些东西安装好,再把CMS、模板和内容配置起来。一个地方出了问题,可能就要去请教另一位更熟悉这方面的工程师。

有时候还得去客户现场,跟着前辈学习怎样与人打交道。

我从设计开始,后来做实施,也开始接触项目管理。以前只在页面上看到的东西,慢慢能看到它后面的整个过程。

但我心里想做的事情,一直没有完全改变。

虽然每天都在做网站,我仍然觉得自己距离心目中的互联网公司还有一段距离。

在我当时的理解里,给政府、媒体和企业做项目,是软件服务;自己开发一个产品,让成千上万的普通用户来使用,才是我想进入的互联网。

这个想法不妨碍我继续做好眼前的工作。

相反,我还想趁着这段时间多学一些技术。

设计和前端是我已经熟悉的东西。Java还没有学起来,数据库和服务器也只是随着项目一点点接触。很多事情自己并不精通,不过至少知道了还有这些东西,也知道遇到问题可以向谁请教。

那几年做项目,最经常碰到的情形,大概就是这样:

一台服务器摆在那里,系统还没装好。

手边是一份安装手册,现场又不一定能上网。

遇到搞不定的问题,就打电话回公司,或者找客户那边的技术人员帮忙。

事情解决了,继续往下装。

我还在做网站,也还在学着怎样把网站做好。

至于什么时候才能做出一个真正属于自己的互联网产品,那时候还不知道。