首页 > 代码库 > Apache笔记 0105

Apache笔记 0105

Linux下通过server-status监控性能

前提:安装好Apache,在opt/路径下

 

  1. 查看Apache的工作模式技术分享

 

可以知道是 prefork.c模式

 

  1. 配置server-status 性能

 

进入到httpd.conf路径

vi  /etc/httpd/conf/httpd.conf

然后添加

<Location /server-status>

    SetHandler   server-status

    Order        allow,deny

    Deny from    nothing

    Allow from   all

</Location>

 

ExtendedStatus On

 

<Location /server-info>

    SetHandler   server-info

    Order        allow,deny

    Deny from    nothing

    Allow from   all

</Location>

  1. 重启:service httpd restart
  2. 访问:http://192.168.254.135/server-status
  3. 技术分享

 

Apache的工作模式

1、prefork.c模块(一个非线程型的、预派生的MPM)

2. worker.c模块(支持混合的多线程多进程的多路处理模块)

一般用worker.c 的模式比较多点,支持的并发比较大。

预派生,首先 要申请资源 不够用的话,再加。

Prefork.c 单进程单线程,比较稳定

Apache的配置文件

  1. 在vi  /etc/httpd/conf/httpd.conf,找到,

ServerRoot "/etc/httpd"

技术分享

 

查看Apache存放路径

技术分享

 

监听端口是:80,默认的,端口被占用,可以更改这个端口

技术分享 (/DocumentRoot)

系统目录路径,应用程序代码存放的路径

 技术分享

Apache日志存放路径

 技术分享

 加载配置文件

技术分享

查看Apache的工作模式

 

1). extra /httpd-mpm.conf

首先:[root@lizongrong ~]# find / -name extra

可以知道extra在cd /opt/lampp/etc/extra/

能够查看到Apache的工作模式,

技术分享 

2). [root@lizongrong extra]# cat httpd-info.conf

 查看是否是server-status模块

 ,技术分享

3).extra 目录下, vi httpd-default.conf

Timeout默认是300,超过这个时间就访问超时

MaxKeepAliveRequests 100控制长连接最大的请求个数

4) [root@lizongrong extra]# vi httpd-vhosts.conf

可以配置两台应用程序相互跳转

设置Apache工作模式

1.)[root@lizongrong extra]# vi httpd-mpm.conf

提取文件

<IfModule mpm_prefork_module>

    StartServers             5

    MinSpareServers          5

    MaxSpareServers         10

    MaxRequestWorkers      150

    MaxConnectionsPerChild   0

</IfModule>

 

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

 

2)[root@lizongrongextra]# vi /etc/httpd/conf/httpd.conf

拷贝到最后面

<IfModule mpm_prefork_module>

   StartServers             5

   MinSpareServers          5

   MaxSpareServers         10

   MaxRequestWorkers      150

   MaxConnectionsPerChild   0

</IfModule>

 

说明:如果是perfork模式就把httpd-mpm.conf对应的模式拷过来,如果是worker.c就把对应的模块拷贝到httpd.conf

3) 保存后,重启

问题:

重启出现这个?

 

StartServers ,minspareservers改为10,问题解决。

然后访问:http://192.168.254.135/server-status

可以看到:1 requests currently being processed, 9 idle workers

Apache默认首位进程, 所以有 1 requestscurrently being processed

 

Apache工作模式切换

  要切换到worker模式,则需要登录到linux上,进行如下操作:
  进入/usr/sbin目录
  cd /usr/sbin
  将当前的prefork模式启动文件改名
  mv httpd httpd.prefork
  将worker模式的启动文件改名
  mv httpd.worker httpd
  修改配置文件vi /etc/httpd/conf/httpd.conf

 

 <IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      30
    MaxRequestsPerChild   0
</IfModule>

然后:[root@lizongrong sbin]# apachectl –l

查看是否切换到 worker.c模式下

Apache笔记 0105