您所在的位置:读书频道 > 操作系统 > Linux > 1.2.6 主机配置、启动、观察与调试

1.2.6 主机配置、启动、观察与调试

2007-12-05 09:50 鸟哥 机械工出版社华章公司 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜——服务器架设篇》(第二版)第一章讲了架站之前所需的技能分析,本文是主机配置、启动、观察与调试。

AD:

1.2.6  主机配置、启动、观察与调试

在所有的前面的工作都完成之后,终于可以进行“主机配置”了。所以,要配置一台堪称完美的主机,就先要学会这么多的基础工夫,太不容易了。配置主机的大致流程是这样的。

1. 找出配置文件
主机配置的第一个步骤就是“需要找到主要配置文件”,因为不论您使用的是RPM还是Tarball,由于都是同一个软件包,所以配置文件的文件名是不变的。例如,Apache的配置文件名都是httpd.conf,而SAMBA的配置文件名都是smb.conf,您必须找到该配置文件之后才能够进行配置。所以,熟悉locate、 rpm、find和grep等命令就显得很重要了。

2. 编辑配置文件
既然要配置,当然就需要编辑。既然要编辑,那么必须学会Unix Like标准的文本编辑器(vi)。vi是学Linux过程中相当重要的一课,如果不会vi,那么学习Linux之路就会跌跌撞撞。此外,该如何编辑配置文件的内容呢?例如httpd.conf里面有些虚拟主机的设置项目该如何设置?要了解这里面的设置项目,就需要学会使用man、info等命令,也需要知道软件的文件数据(documentation)放置在我们系统的 /usr/share/doc里面。如果您知道如何快速地查阅设置项目,那么设置文件的编辑对您而言,就简单得很!

3. 启动服务器
设置完服务器的配置文件后,接下来就是启动服务器。如果您在服务器启动之后进行配置文件的修改,也需要重新启动服务器。要启动服务器,就需要了解什么是daemons,而daemons又有super daemon与stand alone两种模式,在Linux默认的路径中,stand alone的服务在 /etc/init.d/* 这个目录中,里面的文件是以BASH shell 脚本写成的,所以除了了解daemon之外,还需要熟悉shell 脚本的相关语法。另外,如果是super daemon的话,必须知道启动服务器的设置文件放在 /etc/xinetd.d里面,启动的话,则是重新启动 /etc/init.d/xinetd这个super daemon。

如果服务器软件是以Tarball安装的,那么启动的时候可能是直接执行二进制文件,这样,就没有shell脚本帮助您启动、关闭、重新读取设置信息。如果这样的话,您就需要以进程(process)与信号(signal)的方法运行服务器。对于这部分内容,您需要熟悉ps、top、kill以及signal number的意义,尤其是当您想要中断当前某个联机时,netstat配合kill的用法是很重要的。

4. 观察启动的状态
虽然已经启动了服务器,但是启动后的服务器不一定能够正常运行。如何观察它是否正常运行呢?首先,您必须具有PID的概念,利用netstat观察PID与端口号的信息来判断服务器是否正常工作。还有,任何系统信息都会记录到日志文件(log files)里面去,所以,启动完服务器后到该服务器的日志文件中查看一下日志信息,是应当养成的一个习惯。例如启动DNS之后,虽然已经看到端口启动了,但是服务器有可能是不正常启动,此时就需要根据/var/log/messages的内容来判定DNS的设置是否正确。如果希望看到日志文件,就必须知道Linux主机上控制日志文件的syslogd这个daemon。syslogd的配置文件是 /etc/syslog.conf,它可以配合logrotate来进行日志文件的替换。

5. 服务器与客户端的权限问题
现在服务器已经正常启动,所有的状态也似乎都没有问题。现在可以对客户端提供正确的服务了吧?还是不行,还需要考虑到“权限”问题。举个例子来说,架设过WWW主机的朋友大概都知道,如果需要开放个人默认目录的首页,需要将该用户的默认目录权限设置为755。这样,启动Apache程序的用户才能够进入该目录进行浏览操作。为了了解权限的概念,您必须至少具有UID、GID等Linux系统上有关用户账号的概念,每个账号的特殊参数一般放在/etc/passwd与/etc/shadow文件中。此外,每个文件或目录具有10个属性的特征,这些概念很重要。如果要让用户管理系统的话,用户身份必须转换成为系统管理员(root),这样就需要教会用户了解su及sudo的用法。为了防止系统被破坏,适时地减少SUID与SGID等特殊权限的二进制文件,则显得非常重要。

6. 设置开机启动该服务器
服务器设置好,启动正确,对于客户端的权限与服务也设置完毕,接下来就需要在开机时将服务器加载到内存中了。如何进行这个操作呢?Red Hat/SuSE/Mandriva有chkconfig辅助工具,Red Hat中用ntsysv做简单的设置。如果是其他的Linux版本怎么办呢?这就要了解正常的开关机程序,这里面包含了Run Level的观念,Run Level的读取文件在/etc/inittab中;还要了解/etc/rc.d/里的目录与/etc/rc.d/rc.local这个文件的用途。一般来说,我们使用Tarball安装的软件想要在开机时就启动,都会利用/etc/rc.d/rc.local这个文件来实现。

综上所述,架设好一台主机需要知道:

(1)各个process与signal的概念。
(2)账号与群组的概念与相关性。
(3)文件与目录的权限,包括与账号相关的特性。
(4)软件管理器工具的学习。
(5)BASH的语法与shell scripts的语法,还有很重要的vi。
(6)开机的流程分析,以及记录日志文件的配置与分析。
(7)类似quota以及链接文件的概念。

要知道的概念真的很多,而且还不能跳过去。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

《广域网》
在开始学习WAN资料时,我经常面对资料深度不够或者为电气工程师编写的书。另外,在看了几本书,并且对Internet进行了研究以后,

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院