一般,在apache1.x版本的服务器中,使用MaxClients n 来设置最大连接数.
n代表的是整数,表示服务器的最大连接数是多少,取值范围一般在1和256之间
但想要让apache服务器支持更多的连接数,就需要修改源码中httpd.h文件,修改include文件夹中httpd.h文件的HARD_SERVER_LIMIT值,修改限定最大数值然后再进行编译。
在apache2.x 服务器版本中,就方便很多
在Apache2.0中新增加了ServerLimit的指令,可使apache无须重编译,就可以加大MaxClients。
系统默认为150连接数,如果需要修改最大连接数我们可以修改httpd.conf文件
找到
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>
中的MaxClients 150
修改为
ServerLimit 1800
MaxClients 1800
然后保存退出,重启服务器即可生效
ServerLimits与MaxClients这两参数顺序不可以颠倒的,否则apache可能会报错.
一般ServerLimit的最大数值为20000,相对于大多数的站点已经足够了
如果还许要再加大的话,我们需要修改位于源代码下的server文件夹、mpm文件夹、prefork文件夹、prefork.c文件
将代码里面的
#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000
这两行代码就对应着MaxClients与ServerLimit设置的最大限定数值.