CentOS6下使用Apache部署HTTP服务(3)

telnet ip port    # 如果没有修改的话,则是80端口
GET /xxx1 http/1.1 # xxx1为/var/www/html下的一个文本文件
host:xxxx          # xxxx为客户端的IP地址
上述命令完毕之后需要按shift+enter键才能返回结果

<IfModule prefork/worker.c> ... </IfModule>

MPM的参数配置,具体的各个参数含义如下:

StartServers      启动httpd服务会开启几个进程

MinSpareServers    进程队列中最小处于预备状态的进程数

MaxSpareServers    进程队列中最大处于预备状态的进程数

ServerLimit        服务器开启处理http请求的最大进程数

MaxClients        可以同时连接到httpd服务的最大连接数量,和ServerLimit的数值一样,默认最大值为256

MaxRequestsPerChild    每个子进程处理http请求的最大数量,超过该值会释放子进程,0表示无限制

下图所示为prefork处理模式下的进程的状态,可以让多个终端利用telnet命令来连接服务端并保持连接,测试进程数量的变化:

CentOS6下使用Apache部署HTTP服务

CentOS6下使用Apache部署HTTP服务

修改/etc/sysconfig/httpd文件,再来看看worker模式下的进程/线程状态

CentOS6下使用Apache部署HTTP服务

但是4个子进程*25个线程=100个线程,这样就会超过75个线程的限制,因此会出现下图所示的情况,刚开启httpd就有一个进程被杀死。不过手速要快,不然看不到这种情况。

CentOS6下使用Apache部署HTTP服务

LoadModule xxx.so 模块的路径      表示启动httpd服务时加载的模块

httpd -l    # 查看加载的静态模块

httpd -M    # 查看加载的静态和动态模块

例如关于认证的auth_basic_module模块,修改之前httpd -M可以看到该模块加载成功,但是把他注释掉之后,再利用httpd -M可以看到实时的卸载。

CentOS6下使用Apache部署HTTP服务

Include    可以读入的配置文件,/etc/httpd/conf.d/*.conf之所以可以充当配置文件的原因

User apache / Group apache    处理http请求的用户和用户组都为Apache

小tips:可以利用httpd -t 或者service httpd configtest 来检测配置文件的语法错误,检测通过则会显示Syntax OK的标志,但是只能检测文件的语法错误,并不能保证服务能够正常的运行。

五、多样化设置目录的显示内容

ServerName    指定服务器的域名

刚安装Apache启动的时候,会在start部分停留好久,之后会报两个错误,但是不影响服务的正产启动,这种情况就是ServerName没有指定,导致DNS解释失败,因此我们需要在ServerName指令后添加主机名:port,然后就不会有上诉的两个错误

CentOS6下使用Apache部署HTTP服务

ServerAdmin      管理员的邮箱服务器,错误信息都会发送至该服务器

UseCanonicalName 建议设置为Off,如果为On,则httpd只认定ServerName

5.1 设置全局站点首页

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

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