当我们开始我们的网站项目时,我们知道专有软件的成本对于我们的财务资源来说太高了。那时,我们唯一的选择是使用开源软件。
但是,在开源中,有很多软件可供选择,系统分析师/程序员需要选择最适合项目目标的软件。
在这个例子中,我们选择 Linux 作为我们的操作系统。然而,我们面临一个大问题:哪个 Linux 发行版?有许多 Linux 发行版,每个都有特定的好处,有时有或没有付费服务。
我们之所以选择linux Slackware,是因为我们认为它在稳定性和可靠性方面更能满足我们的需求。 Slackware 是一个保守的发行版,这意味着一旦它被证明稳定可靠,它只会在其发行包中提供内核版本和第三方库。因此,Slackware 是市场上最稳定的 Linux 操作系统之一。如果用户想使用最新的 Linux 内核和库,建议您选择其他发行版。
我们选择Slackware的另一个原因是因为它的文本界面,从长远来看可能会有点难以上手,但它有助于更好地了解Linux环境。因此,大多数 Slackware 配置都是通过文本脚本完成的。
设置操作系统后,我们选择 Apache 作为我们的网络服务器。 Apache 是 Internet 上最流行的 Web 服务器之一。对于服务器编程语言,我们选择了 PHP。另外,一种非常流行的编程语言。我们使用 Apache/PHP 的经验证明,此设置非常可靠,并且在我们的生产环境中运行良好。对于工作站编程语言,我们选择了 javascript,它除了具有简单的语法外还提供了许多资源。
Apache web服务器其实就是一个完整的web服务器。此外,在许多配置设置中它会变得非常复杂。
对于我们的数据库,我们选择了 Postgresql。该数据库已经向公众开放超过 15 年,除了经过良好调试之外,它还提供了很多资源,因此它已成为开源软件中最好的数据库选项之一。 Postgresql 非常可靠,据报道生产中的数据库超过 4 TB。除此之外,Postresql 并不是最流行的开源数据库。营销问题?也许。
对于PHP这种编程语言,必须采用面向对象的应用结构。开源代码许可证提供了许多 PHP 应用程序结构。面向对象的应用程序非常重要,因为它使编程变得非常容易和可扩展,直到系统可以毫无问题地增长。此外,由于一些特定的库(如 Smarty),它有助于将 PHP 代码与 HTML 分开。我们使用 Smarty 库,我们认为这是一个非常重要的资源,它甚至可以通过使用其缓存功能使网页速度更快。
PEAR库也是PHP系统中非常值得一提的一组库。在PEAR网站上,提供的众多库中有数据库接口DB和MAIL_QUEUE,它们使用数据库发送邮件。
在项目结束时,我们不得不使用某种实时数据库复制。为此,我们选择了 DRBD 和 Heartbeat 库。数据库复制的使用非常重要,不应拖延。我们的系统投入生产三个月后,服务器硬盘坏了。通过使用 DRBD/Heartbeat,我们能够在几秒钟内将系统恢复到生产状态,而不会丢失任何数据。 DRBD/Heartbeat 复制是使用服务器和从属节点之间的局域网完成的。
我们的项目还利用了 ImageMagick(放大和缩小图像)、Iptables(防火墙)、Tsearch2(在 portgresql 中进行文本搜索)和 Mon(Linux 监控任务)。
值得一提的一个非常重要的库是用于 PHP 的伪 APC 编译器。速度始终是互联网站点的关键因素。
我们的网站已经投入生产,根据我们的经验,我们可以说我们选择的开源软件已经被证明是非常可靠和稳定的。开源软件无疑是开发网站的绝佳选择。
Roberto Sedicias
IT 顾问
本文已根据 GNU FDL 获得许可,未经作者授权不得分发。但是,必须保留文章和传记中提到的作者姓名和所有 URL(链接)。