Linux小型日程表挑战大型群件

2009-05-13 01:18:32来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

群件很强大也很重要。如果需要,可以购买一个群件系统。或者可能是一个集群——有一个使用了RAID的专用的数据库服务器,以及磁带备份的保证,还有单独的机器来运行界面。为什么?当然是因为它更可靠,而且可以根据负载扩展!

不过,您可能不会处理非常多的调度任务,以至于需要使用消耗大量内存的应用程序。可能只是需要某种基于Web的日程表界面,以及核查需要做的项目的能力。

可能并不需要30兆字节大小的类库、由一组本体专家(ontologists)来设计对象模型,或者依赖15个其他软件包。这里是我的目标:尽可能只使用系统附带的功能来运行那些应用程序。

业务的第一个步骤

首先,需要确保老机器可以运行某个Web服务器和某些CGI脚本。方便的是,我们的机器已经拥有了一个Web服务器,其根位于/var/www/htdocs.检查配置文件(/etc/apache/httpd.conf),可以发现默认把ExecCGI和Includes都关闭了——不过我想把它们打开,让我的Web页面华丽而生动。

之后的Options那一行是相关的设置。我添加了ExecCGI和Includes选项。如果没有服务器端解析的文件的支持,Includes不会做什么事情;在httpd.conf中有一些注释掉的行将完成此任务。我去掉了这三行的注释(但仍让那些真正的注释保持被注释):


清单1.使用服务器端解析的文件
				[...]AddHandlercgi-script.cgi##Touseserver-parsedHTMLfiles#AddTypetext/html.shtmlAddHandlerserver-parsed.shtml[...]

完成后,执行apachectlrestart,让Apache重新加载其配置文件。为节约以root身份登录的时间,可以将/var/www/htdocs的所有者设置为您的个人帐号。我这样做了,而且还删除了在线手册和默认的索引页。

在计算机科学中有一句谚语,“百分之十的工作可以解决百分之九十的问题”。就此想法,我为这个应用程序制作了一个首页草稿,囊括了这个程序预期的主要工作:


清单2.首页草稿
				

Yo!Dothedishes.


现在只需要测试CGI处理。我的测试叫做env.cgi,并不大,但是很实用:


清单3.“CGI-处理”测试脚本
				#!/usr/bin/perl-wuseEnv;useCGI;print"Content-Type:text/plain\n\n";foreach$k(sortkeys%ENV){print"$k:$ENV{$k}\n";}exit0;

您会注意到,我实际上并没有使用CGI模块;之所以引用它,是为了确保它已经安装。将它放在适当的位置,我可以确认CGI脚本正在运行。我将机器在网络上命名为“crate”,所以,对http://crate/env.cgi的访问结果如我所想:


清单4.确认CGI脚本正在运行
				[...]REMOTE_ADDR:205.166.146.66REMOTE_PORT:62594REQUEST_METHOD:GETREQUEST_URI:/env.cgiSCRIPT_FILENAME:/var/www/htdocs/env.cgiSCRIPT_NAME:/env.cgiSERVER_ADDR:205.166.146.93SERVER_ADMIN:root@midas.slackware.lanSERVER_NAME:crate.plethora.netSERVER_PORT:80SERVER_PROTOCOL:HTTP/1.1

那非常有利于调试——它发现我那部分有一个错误。我忘记去修改httpd.conf中的ServerAdmin行了。很容易修改。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:RouterOS的备份和恢复

下一篇:并行版本系统CVS简单教程

热门词条
热门标签