Linux 网上冲浪
据称,本文讲述的是如何使用一种名为 Linux 的“默默无闻”的操作系统,将一群快乐的网上冲浪者送入广阔的互联网海洋。但这实际上是一个激动人心的冒险和发现的故事——Linux 扮演着一艘值得信赖的船的角色。这艘船使我们能够绘制广阔的互联网海洋地图,以Netsurfer Digest的名义,这是一份免费的、赞助商支持的电子杂志(电子杂志),作为世界各地网上冲浪者在线冒险的门户。
这一切都始于 1994 年春天,当时我聚集了一小群网上冲浪者,通过适当的劝说、手势和免费食物,说服他们组建一家在线出版公司。遵循古老的创业传统,我们在无数咖啡馆的餐巾纸上涂鸦,吃了大量的披萨,交换了大量的电子邮件,并孕育了Netsurfer Communications。我们的目标是使用万维网这项热门的新技术,出版有趣且用户友好的电子杂志。
由于我们是一群相当精通在线技术的人,我们决定我们的产品将仅在线提供,并且公司将作为一家虚拟公司运营。我们打算充分利用现代通信技术提供的巨大杠杆作用。通过完全在线存在,我们将能够毫不费力地与我们的消费者沟通,挖掘全球人才库的贡献者,并将我们的管理费用保持在最低水平。
在我们的旗舰出版物Netsurfer Digest的原型正在准备和生产流程正在设计的同时,必须做出一些技术决策。其中最重要的是为我们的生产设施和互联网站点选择操作系统。我们选择的任何东西都必须满足一些相当严格的要求。
首先,我们需要一个非常可靠的电子邮件平台。我们的系统必须能够支持服务于数千人的邮件列表,并为我们的内部编辑通信提供可靠的电子邮件存储。其次,我们需要一个可靠的万维网和 FTP 站点。我们的电子杂志的过刊以及各种背景信息必须在一天中的任何时间和夜晚提供给世界各地的人们。我们还需要能够轻松更改和更新此信息,有时通过自动化脚本进行。最后,重要的是,我们选择的任何环境都支持良好的开发工具。我们计划创建一些自定义程序来帮助电子杂志的制作和发行。
不需要天才也能想出我们需要某种 Unix。毕竟,Unix 是互联网的原生操作系统,并且很可能是有史以来设计出的最佳开发环境。唯一的问题是选择哪个品牌的 Unix?有许多商业版本可在昂贵的工作站或功能丰富的 PC 上运行。关键词是“昂贵”。现在,如果您参与过创业公司,那么您就会知道,除了创业团队偶尔混乱的头脑之外,最宝贵的资源就是现金。您只将其花费在对维持企业运营绝对必要的项目上,例如营销、硬件和披萨。当需要选择我们的操作系统时,这绝对是我们考虑的问题。
碰巧当时我有一份 Linux 的副本,是我从 Trans-Ameritech 购买的 CD-ROM。我在家里玩过它,也从我的朋友那里听到过关于它的好评。它似乎是一个功能齐全、相对健壮的操作系统,可能能够在电子杂志的早期阶段满足我们的需求。价格合适,而且更重要的是,我们不需要超级昂贵的机器来运行它。尝试一下 Linux 我们没有什么可损失的。如果它奏效,我们就找到了满足我们需求的非常廉价的解决方案。如果不行,好吧,我们总是可以选择更昂贵的商业操作系统之一,我们认为随着我们的企业发展,无论如何我们都必须这样做。
很明显,Linux 是一个不错的独立操作系统,但我们需要 выяснить Linux 是否能够可靠地支持互联网站点。1994 年 5 月初,重要的一天到来了。我已经将 Linux 1.0.9 版本安装在我们的机器上,这是一台简陋的 486DX33 PC,配备 8 兆内存、245 兆硬盘和以太网卡。首要任务是看看我们是否可以将其连接到我们提供商站点的以太网网络,然后从那里着手将其连接到互联网。所以我把机器搬过旧金山湾到伯克利,和我们的网络管理员 Bill Woodcock 坐下来,在他的网络上安装它。我准备花几个小时摆弄系统使其运行。我甚至带了一些零食,以便在整个下午努力使整个装置工作时吃。
首先,我们阅读了 Ethernet-HOWTO 中的说明,其中基本上说要确保内核已编译并支持我们的以太网卡。没问题;我已经这样做了。接下来,我们阅读了 NET-2-HOWTO,它告诉我们如何配置 TCP/IP 网络。这归结为运行一个名为 ifconfig 的实用程序,或者更改 rc.inet1 和 rc.inet2 文件中一些注释良好的行。这看起来非常简单,在我们做出更改后,比尔和我怀疑地看了看对方,然后重新启动了机器。
我的整个职业生涯都在从事复杂的硬件和软件系统工作,最初是作为大型机设计工程师,后来是作为软件经理。在我的长期经验中,我了解到,第一次测试新的软件、打开新的硬件或配置网络时,它永远不会工作。永远不会。总是需要进行一些摆弄和调整,甚至进行错误修复,然后整个东西才能以大致设计的方式工作。这就是事物的本质。想象一下我的惊愕,当机器启动、识别网络并响应来自世界其他地方的 ping 时。这在现实世界中根本不会发生。坦率地说,我感到震惊和惊讶。但以一种好的方式。
简而言之,我们启动了标准守护程序,并在我们的机器和网络的其余部分之间建立了 telnet、FTP 和电子邮件连接。我原以为需要花费一个漫长的下午进行调试和挖掘晦涩的在线文档,结果变成了一个半小时的工作。我们休息了下午的剩余时间,出去吃披萨。我甚至多要了酱汁。
比尔在接下来的几天里配置机器以满足我们的喜好。他安排了域名注册,设置了安全的 FTP 和 WWW 软件(所有这些都可以在网上免费获得),与电子邮件配置作斗争,并设置了必要的用户帐户。我们已连接到互联网,并准备好支持我们的第一份电子杂志Netsurfer Digest的 Beta 测试。
在 1994 年的整个夏天,Linux 主机支持了我们的 Beta 测试工作,最终用户增长到 1500 多人,每周两次收到我们的电子杂志的副本。与此同时,我们获得了另一台 PC 用于开发和生产。这台 PC 配备了 X-Windows 作为用户界面,Perl 作为主要开发语言,Seyon 作为远程通信程序。开发我们的编辑流程和各种支持工具的工作都在进行中。到目前为止,Linux 已被证明是一种非常经济高效的选择,并且作为 Beta 测试平台非常灵活。然而,我们的航行并非完全一帆风顺。
在 Beta 测试期的早期,我们在处理不断增长的邮件列表时遇到了问题。我们的问题是由我们的邮件软件(当时的 smail)、相对较慢的机器和较慢的互联网连接(28.8K 调制解调器)之间的交互引起的。很快,我们在 Linux FTP 站点找到了另一个邮件程序(sendmail),编写了一些 Perl 脚本,并获得了可用的邮件配置。Linux 作为开发环境的灵活性开始带来回报。
我们更关心的是稳定性。我们注意到的一件事是,机器不如我们希望的那么稳定。似乎由于某种原因,我们平均每月必须重新启动两到三次。通常,这是由于随机分段错误或其他晦涩的错误造成的,这些错误会毫无明显原因地挂起我们的机器。在我们的 Beta 测试期间,我们可以忍受这些偶尔的小故障,但显然,这对于必须可靠地为数千名读者提供服务的生产机器来说是行不通的。然而,由于这些小故障并没有严重影响我们的 Beta 测试工作,因此考虑到软件的经济性,我们可以暂时忍受它们。我们是一家快乐而廉价的创业公司。
到 1994 年秋季,我们正处于正式发布Netsurfer Digest的前夕。我们的邮件列表越来越大,我们的互联网站点被访问的次数也越来越频繁。作为我们为公开亮相做准备工作的一部分,我们所做的一件事是将我们的 Linux 副本升级到当时最新的 1.1.61 版本。我们立即注意到,新版本似乎比早期的 1.0.9 版本稳定得多。事实上,从长远来看,这已被证明是正确的,后来的 Linux 版本使我们顺利度过了商业存在的早期阶段。
稳如泰山:运输货物
在 94-95 年的整个冬季,Linux 作为我们的互联网和生产平台完美地运行。我们的订阅率以及我们的每周邮件都在快速增长。我们达到了这样的程度,即需要 24 小时以上才能将一期邮件发送给我们的数千名直接订阅者。在邮件发送期间,我们系统的响应时间确实变慢了,但 Linux 承受了负载并完成了每次运行。
对我们的 WWW 服务器的访问也开始起飞。似乎每周我们的每日访问统计数据都会增加一千次。真正的考验发生在 1 月初,当时我们创建了一个特别的 Macintosh 版本,以配合 Macworld Expo。一夜之间,我们可怜的 486DX33 PC 的访问量超过了每天 1 万次,Macintosh 爱好者的大量访问淹没了我们。Linux 以优雅的性能降级来应对负载,就像一个好的操作系统应该做的那样。最终到了我们的忠实系统再也无法承受的地步,机器挂了。我们已将我们的系统推向了极限。
到 1995 年 1 月底,Linux 每天通常处理超过 16,000 次对我们网站的访问,高峰负载达到每天近 20,000 次访问。与此同时,我们正在处理两个不同电子杂志的邮件列表,订阅者超过 15,000 人。令人难以置信的是,这个免费系统在一台相对简陋的机器上可以做到这一切。我们绝对物有所值。
我们在 1994 年底意识到,总有一天我们必须升级我们的系统,以应对我们惊人的增长率带来的负载。简单的数学告诉我们,在某个时候,我们的每周邮件将给系统带来如此大的负载,以至于访问我们站点的人们将无法通过。超过某个点,486 PC,甚至奔腾,都会耗尽马力。为了处理数以万计的订阅者和每天数以万计的对我们网站的访问,我们需要提高我们的馈送速度,安排专业的镜像站点,并获得一些严肃的硬件。
幸运的是,这并不意味着我们将放弃 Linux。我们所有的生产和开发仍然在 Linux PC 工作站上进行。我们目前的机器,现在是一位经历漫长而多事之秋的老将,将继续连接到互联网作为备份资源。Linux 已在一个非常苛刻的环境中证明了自己。我们已将其推向极限,甚至偶尔超出极限。如果没有这个出色的操作系统,以及所有使其成为今天如此伟大和强大的工具的人们,我们就不会有今天的成就。我们只能希望,通过发布我们的免费电子杂志,通过使它们有趣且有用,我们可以回报那个广阔的互联网社区,没有他们,我们就无法拥有我们梦想的工作。
Arthur Bebak 是硅谷计算机社区的资深人士,具有计算机工程和项目管理背景。作为 Netsurfer Communications, Inc. 的创始人兼出版商,他目前正努力不打扰他才华横溢的员工,因为他们正在创作一些目前最好的网上冲浪电子杂志。可以通过 arthur@msm.com 联系 Arthur。要了解 Linux 帮助创造了什么,您可以访问 Netsurfer Digest 主页:www.netsurf.com/nsd/。