Apache Httpd服务器之基础教程(2)

<Directory “/usr/local/httpd/htdocs”>
        Options Indexes
        AllowOverride None
                Require all granted
    </Directory>


    这段代码很简单,主要达成三个目的。一是允许显示目录列表,二是禁止.htaccess文件覆盖配置,三是允许所有用户访问该目录,也就是说只要uri映射到此目录,则就可以将内容返回给用户。Options是目录的一些设置选项,如允许显示列表,允许目录内有软链接等。AllowOverride是是否允许其它的配置文件覆盖此配置。Require是授权。
   
    我们用/usr/local/httpd/bin/httpd -k start命令来启动服务器。如果没有任何回显,则表示服务器启动成功。进一步可以用ps aux | grep httpd来确定以下,如果有很多/usr/local/httpd/bin/httpd -k start进程,则表明服务器启动成功。利用浏览器访问下服务器,如服务器IP为192.168.1.6,则在浏览器内输入,如果页面显示”It works!”,则表示服务器一切OK。至此,服务器的安装到此结束,下面介绍以下服务器的运行模式。
    Httpd服务器的运行模式主要分为prefork和worker,它们属于多路处理模块MPM,由—with-mpm参数在./configure时设置。prefork为非线程型,预派生的多路处理模块,而worker属于线程型的。也就是说prefork使用进程处理请求,而worker可以使用线程处理请求。它们各有优缺点,对于非线程安全的脚本处理系统,适合与使用prefork模块,如php-cli。对于线程安全的脚本处理系统,如果你的机器是多核并且配置足够高,选择worker模块也许是更好的选择。
    prefork使用一个单独的控制进程负责产生子进程,这些子进程用于监听请求并给出应答。Apache总是试图保持一些备用的子进程用于迎接即将到来的请求,这样客户端就不用在得到服务前等待子进程的产生。配置mpm模块可以在配置文件的全局部分进行设置。当然,一般来说我们在设置mpm时会加上<IfModule></IfModule>先判断下该模式是否正应用在服务器中。如下是一段prefork的配置代码:
    <IfModule mpm_prefork_module> #这个判断可以不加,除非你非常确定自己启动了prefork的模式
        StartsServers    5    #服务器启动时创建的进程数
        MinSpareServers    5    #最小空闲进程数
        MaxSpareServers    10    #最大空闲进程数
        MaxRequestWorkers    250    #最高并发量
        MaxConnectionsPerChild    0    #单个进程能处理的连接数,如果设置为正整数值,则在超过此连接数后,
                                        该子进程会被Kill掉。当设置为0时,表示无限制                             
    </IfModule>

worker为��线程多进程的服务器,可以处理海量请求,前提是你的服务器能抗的住。如下是一段worker的配置代码:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b71e578a01925d47961a251d72e598a3.html