1CentOS服务器构服务器和个人电脑最本质的区别无非服务器是为了提供服务而存在。然而,通过一些软件也可以把我们的使用中的个人电脑模拟成一台(Web)服务器,比如Win98下用PWS,Win2K下用IIS,或者在Windows下安装Win32版的Apache等等。但是,这些方式也使得一方面服务器的可定制性变得很差,另一方面,使服务器在承载服务负担的同时,时时刻刻都有受到由于Windows操作系统本身在服务器方面的脆弱性而遭受攻击,导致崩溃的可能性。所以,在这里我们用Linux这个服务器专用操作系统来搭建一台安全、稳定、可定制性强的服务器,来满足我们发布网页、以及架设论坛等等多功能交互程序的需要。Linux的发行版也有数多种,在这里,我们采用CentOS这个Linux发行版。CentOS是RHEL(RedHatEnterpriseLinux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的Bug,相对于其他Linux发行版,其稳定性值得信赖。另外,由于FedoraCore计划也归根于RedHat系,所以在绝大多数情况下,使用FedoraCore的朋友,也同样能够通过本站介绍的各种CentOS方面相关的技巧、方法来完成服务器的构建和维护工作。但相对于稳定性来说,FedoraCore更侧重于最新技术,更面向于桌面应用以及开发测试,这也导致FedoraCore的稳定性被考虑在了次要的方面。所以在这里,不建议使用FedoraCore来构建网络服务器。[目标]*对服务器完全自主、自由的配置*实现Web发布、并通过虚拟主机实现多用户共享Web服务器资源*对Perl、PHP、JSP的支持,以及MySQL数据库的支持*通过FTP服务器的构建实现远程文件传送*通过SSH远程控制服务器*自主E-mail服务器的构建*服务器端病毒监测以及安全监测的系统化*。。。。。。[基本条件]*一台配置说的过去的计算机(极力推荐使用自用PC以外的另一台计算机)*7*24全天候的网络接入(PPPoE或其他能够获得独立GlobalIP地址的接入方式即可)*自用PC与将要构建的服务器组成的局域网环境(服务器端的配置可通过自用PC来操作)*。。。。。。*如果无以上条件,也可以通过VMWare在Windows下构建(基于Windows的VMWare所构建的CentOS服务器无多大的应用意义,仅限于学习用)在进行服务器配置之前,如果您是新手,很有必要了解一下CentOS下相关工具的操作、相关命令的用法,以及Linux及CentOS相关的背景知识。以下将列出相关的内容以供参考,但如果依照本站文档进行服务器配置的情况,您并没有必要将以下预习项目全部阅读。您可以根据选择来吸收其中有用的部分,来提高效率。2基于本站文档,预习项目的阅读等级如下:“◎”必须掌握,否则很难顺利的进行“☆”选择阅读,可能提高您在配置过程中的效率“△”不需阅读也可以顺利进行△适合服务器运行的室内环境◎vi编辑器的使用方法☆用top命令查看CPU使用率vi编辑器的使用方法(最近更新日:2006/08/30)前言在UNIX下,vi是标准的文本编辑器之一。几乎任何一部UNIX系统都把vi编辑器作为最最基本的“软件”而被默认组装在系统中。在PC-UNIX中,即使是选择最小程度安装的系统,vi编辑器也会被默认安装在系统中。提到vi,就不得不提一下UNIX下另一功能强大的编辑器-Emacs。好多人喜欢拿Emacs和vi来比较,但笔者认为,Emacs和vi没有可比性。vi的轻量级特性,使得它成为系统管理方面的首选工具;而Emacs的功能强大的特性,使得它成为系统开发方面的首选工具。如果用Emacs来做系统管理,它庞大的体积和对于系统资源的耗费(相对于vi),势必会影响系统管理的效率;然而,如果用vi来搞软件开发,它有些面向于开发的功能方面的不完备,也势必会影响开发的灵活性。在这里,我们的目标是建立和管理一台服务器,所以,我们选择使用vi编辑器来完成服务器的配置工作。由于本站所有服务器设置相关的修改工作,都是通过vi来完成的,所以准备通过本站介绍的各种方法构建服务器的话,请务必掌握vi的使用方法。否则将很难顺利的进行。如果您使用其它编辑器(比如Emacs)可以在安装过程中或通过yum命令在线安装。用法习惯于MicrosoftWindows下GUI方式编辑器的朋友,刚刚接触vi肯定会有“排斥反应”的,这一点只能奉劝稍安毋躁……当你习惯于vi之后,你会发现它既精确又有秩序,而且重要的是它对于要编辑的对象极富针对性。3上图为在CUI下输入“vi”命令后,vi被启动的状态。或者输入一个已存在的文件的路径,来打开一个已经存在的文本文件。(这里以用root用户登录系统,后输入“vi/etc/X11/xorg.conf”为例。)4上图为用vi打开/etc/X11/xorg.conf后的状态。光标位于左上第一个字符下滑线的位置。vi和其他编辑器最不一样的地方莫过于它把编辑、处理等等的操作分离开来,形成性质不同的3种操作模式,他们分别为“命令模式”、“插入模式”、“ex模式”。在Windows下通常使用的记事本等等的编辑器在打开文件的时候,光标已经在处于输入等待的状态,也就是说,我们打开文件时就可以对文件进行编辑。比如,我们要输入新的文本,或者复制一段文本,所有操作的前提,只要编辑器是被打开的状态,操作就是可能的。但在vi下,为了增强对将要处理的文本的针对性,文本输入、复制等等不同的操作,是被分离开来的,比如文本输入的模式叫做“插入模式”,在插入模式下,我们可以用和Windows下一样的操作方法来对文本进行输入、编辑等等的操作,但是复制等等非编辑的操作,在插入模式下不能够完成,而需要切换到相应的模式下用相应的命令来完成。在这里,还是首先对重要的vi的模式进行说明。★vi的模式(命令模式、插入模式、ex模式)1)命令模式:在我们刚刚通过vi新建或打开一个已经存在的文件时,首先默认被读取的模式就是“命令模式”,命令模式的特征就是,在编辑器窗口左下角的位置上没有任何的提示标语。5在这个模式下,如果不通过相应的命令,我们无法输入新的文本到这个文件中。这里建议新接触刚刚接触vi的朋友在用vi打开一个文件时不要处于心切而乱按键盘试图输入一些文本到文件中,因为命令模式所谓的“命令”,并不是我们在命令行提时下输入的过程诸如“ls-回车”等等形式的命令。确切说vi命令模式下的命令,只是计算机键盘上的某个按键或某些按键的组合,当我们在命令模式下敲下键盘一个按键的时候,相应命令就已经被执行。在这里,首先介绍移动光标的命令。通常光标的移动可以通过键盘右边的方向键,但是由于每次移动光标,手都要大幅度的移动到键盘右边,这样使用vi是体现不出效率的,所以建议使用vi固有的命令(键)来控制光标的移动。光标的移动命令如下所示:向右移动--l向左移动--h向下移动--j向上移动--k如上所示,例如要向右移动光标8个字符的距离,只要在键盘上敲l键8次即可;向下移动3行的距离,只要在键盘上敲j键3次即可……也就是说,在vi命令模式中通过这几个键(命令)来控制光标的移动。6其次就是文本删除的命令。在Windows下大多数编辑器在删除文本时只要连续按[Backspace]键即可。但由于在vi中,插入模式和命令模式是分离开来的,所以在命令模式下需要通过命令(按键)来删除文本,而不是直接按[Backspace]键。文本删除的命令如下所示:删除光标所在位置的字符--x删除光标所在的行--dd(敲d两次)如上所示,例如要删除从光标位置起向右的3个字符,只要在键盘上敲x键3次即可;要删除光标所在的行,只要敲dd(连续敲d键两次),光标所在行的所有字符以及行将会被删除。再次,当编辑完了一个文档,想要保存后退出的时候的命令为“ZZ”(大写、连续敲2次)。保存并退出文档:保存当前修改并退出--ZZ另外,vi还有一些编辑性质的命令,一并总结如下具有编辑性质的有用的命令:撤销上一步操作--u移动光标到行首--0(数字0)移动光标到行首--$移动光标到当前页最顶行--H移动光标到当前页最底行--L向前翻一页(PageUp)--Ctrl+f向后翻一页(PageDown)--Ctrl+b还有在服务器配置中使用vi时,频繁用到的就是vi的搜索功能。在vi命令行的状态下,键入“/”(斜线)后,vi底部出现“/”,并处于输入等待状态,这时候输入要查找的文字或文字列,然后按回车就可以找到相应的文字或文字列。当有多个对象存在时,敲“n”(小写)键为查找下一个目标,敲“N”为查找上一个目标。用top命令查看CPU使用率(最近更新日:2006/11/24)前言7在系统维护的过程中,随时可能有需要查看CPU使用率,并根据相应信息分析系统状况的需要。在CentOS中,可以通过top命令来查看CPU使用状况。运行top命令后,CPU使用状态会以全屏的方式显示,并且会处在对话的模式--用基于top的命令,可以控制显示方式等等。退出top的命令为q(在top运行中敲q键一次)。运行top在命令行中输入“top”即可启动top,运行后如下图所示:如上图所示,top的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。第一部分--最上部的系统信息栏:第一行(top):“00:11:04”为系统当前时刻;“3:35”为系统启动后到现在的运作时间;“2users”为当前登录到系统的用户,更确切的说是登录到用户的终端数--同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;“loadaverage”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过CPU数目时,CPU将比较吃力的负载当前系统所包含的进程;第二行(Tasks):“59total”为当前系统进程总数;“1running”为当前运行中的进程数;8“58sleeping”为当前处于等待状态中的进程数;“0stoped”为被停止的系统进程数;“0zombie”为被复原的进程数;第三行(Cpus):分别表示了CPU当前的使用率;第四行(Mem):分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;第五行(Swap):表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。第二部分--中间部分的内部命令提示栏:top运行中可以通过top的内部命令对进程的显示方式进行控制。内部命令如下表:s-改变画面更新频率l-关闭或开启第一部分第一行top信息的表示t-关闭或开启第一部分第二行Tasks和第三行Cpus信息的表示m-关闭或开启第一部分第四行Mem和第五行Swap信息的表示N-以PID的大小的顺序排列表示进程列表(第三部分后述)P-以CPU占用率大小的顺序排列进程列表(第三部分后述)M-以内存占用率大小的顺序排列进程列表(第三部分后述)h-显示帮助n-设置在进程列表所显示进程的数量q-退出tops-改变画面更新周期第三部分--最下部分的进程列表栏:以PID区分的进程列表将根据所设定的画面更新时间定期的更新。通过top内部命令可以控制此处的显示方式。应用top一般的,我们通过远程监控的方式对服务器进行维护,让服务器本地的终端实时的运行top,是在服务器本地监视服务器状态的快捷便利之一。◆操作系统的安装CentOS4.4的下载、安装----------------------------------------------------------------------------------10页系统安装后的初始环境设置9◆SSH服务器的构建用OpenSSH构建SSH服务器用SSH客户端软件登录到服务器◆服务器开放前安全监测系统和病毒查杀系统的构建数据完整性监测系统的构建(Tripwire)入侵监测系统的构建