一 选择需要包括在服务器中的模块
用户可以通过编辑文件configuration来决定在编译生成可执行文件时包含哪些模块,不包含哪些模块,并且由此生成功能不同的可执行文件。
# vi confuguration
在该文件中选择合适的编译器以及编译选项,对于想包含在服务器中的模块,将其对应行前的注释符号#去掉。如果该模块的信息没有包含在文件中,需要加上对应的语句,如果用户不需要多服务器的功能进行剪裁,建议不讨对默认的配置进行更改。对已redhat lin系统来说,需要在configuration文件中加入设置:
extra-libs=-lcrypt
否则编译可能会出错
二、创建配置文件
用户通过执行shell脚奉程序Confgoure可以使系统白动生成编译可执行立件时需要的MakerJle文什,如图所示:
#configure
Using config file:ContigUfation
Using Makefile template file: Makefle.tmpl
+ configurcd fur Lin plattorm
+ setting C compiler to gcc
+ setting C compiler optirnization-level to -02
有时根据shell的不同,我们要使用命令 #sh Configure来完成上作,
三、调用编译器生成可执行代码
用户只需要在命令行键入命令make,操件系统会调用GCC米编译Apache的源代码。编译完成后,在当前目录下会生成服务器的可执行史件httpd。用户可以把系统提供的二个配置文件示例——srm. conf-dist、access conf-dist fii hltpd.conf-dist.分别复制成所需的Srm. conf(资源、映像文什)、acccss. conf(访问控制文什)和httpd cunf(服务器设置文件)文件,这三个配置文什是服务器运行时所必需的,其中httpd.conr文件设定了服务器的一般属性,如运行方式、端口号等,srm conf文件设定了服务器的资源映像信息.acccss. conf文件设定访问了控制信息。
通过可执行程序httpd位于/usr/local/etc/http/目录下,配置文件响应地从在于/usr/local/etc/http/conf目录下,目录日志位于/usr/local/etc/http/log目录下。根据系统的不同,这些目录可能是不一样的,并且用户也可以配置命令指定其他文件作为配置文件,配置文件的位置是很重要的,当用户不知道具体的位置时,可以通过命令查找。
服务器在启动时,它吧httpd的进程号(process id)保存在位于目录/var/run/的httpd.pid文件中,系统管理员可以使用这个文件来重启系统或者终止服务器程序。具体方式是通过kill命令送给服务器进程一个控制信号,比如hup信号会使它从新读取配置文件,二term信号会使它重新读取配置文件,二term信号会使它终止。具体的方法如下:
# cat /var/run/httpd.pid
通过这条命令我们可以得到服务器进程的pid,在使用命令:
# kill -hup pid
这样服务器会按照新的配置文件进行重新运行,服务器会将操作中的错误信息记录到error-log文件中,同事也会将每个请求记录到access-log文件中
这些文件的位置可以再配置中加以改变,但必须保持系统的一致性。
下一篇我们将介绍:httpd的管理配置