Apache运行模式之standalone和inetd模式介绍
不仔细看httpd.conf配置文件还不知道有这回事,汗。
ServerType这个配置选项指定如何运行Apache。Apache可以使用两种方法来运行:standalone(独立式)和inetd(超级守护进程式)。
standalone模式表示Apache进程以一个单独的守护进程方式在后台监听是否有客户端的请求,如果有则生成一个子进程来为其服务。在standalone模式下,apache进程一次性启动,运行期间一直驻留在内存中,尽管损耗了一定的系统资源,但接入信号反应快;而且子httpd进程在http请求完毕后并没有直接断掉,这样就可以重新用来接受新的http请求,请参考apache的keepalive指令(请看这里)。由于不存在对每个请求都启动新的apache根进程,所以它的效率更高。
inetd模式表示Apache服务不是以一个单独的守候进程的形式支持。而是由Inetd这个超级守候进程进行代劳,当它监听一个客户端的http请求的时候,再启动一个httpd进程为其服务。一个由inted运行的服务器进程在它结束对请求服务的同时立刻退出,虽然不占用了系统资源,但是也由此不适合应用在同时连接数量较多的系统。因为如果请求完毕后就结束httpd进程,会使服务器负担加重。
具体使用如下:
standalone模式
此种模式下,Apache服务器监听特定端口的连接请求。当用户发起特定端口地址的连接请求时,主服务器进程启动子httpd进程来响应该请求。
这样还需要告诉主服务器进程侦听的特定端口地址,使用命令:
Port [number] (缺省值为80)
inetd模式
inetd是监听所有小于1024的端口连接请求的Internet守护进程(一个服务器进程)。与standalone模式不同,当客户系统发出到Apache服务器的连接请求时,inetd启动一个httpd进程,由此进程服务此请求,完成服务后即退出。
如果选择通过inetd服务器来运行Apache,需要编辑/etc/inetd.conf文件为Apache添加一条新的记录:
httpd stream tcp nowait httpd /etc/httpd/bin/httpd