apache2.2_安装,优化、模块配置
### Apache 2.2 安装、优化与模块配置详解 #### 一、Apache 2.2 安装过程 1. **解压文件** 使用 `tar jxvf httpd-2.2.2.tar.bz2` 命令来解压下载的Apache 2.2安装包。接下来进入解压后的目录 `httpd-2.2.0`。 2. **修改源码中的最大线程数和客户端数目** 在 `server/mpm/worker/worker.c` 文件中,将默认的最大线程数和客户端数目的定义修改为更大的值: ```c #define DEFAULT_SERVER_LIMIT 256 #define MAX_SERVER_LIMIT 40000 #define DEFAULT_THREAD_LIMIT 256 #define MAX_THREAD_LIMIT 40000 ``` 这一步是为了提高Apache服务器处理并发请求的能力。 3. **编译和安装 APR (Apache Portable Runtime)** - 进入 `srclib/apr` 目录。 - 使用 `./configure --prefix=/home/liuchao/local/apr` 来配置APR的安装路径。 - 执行 `make` 和 `make install` 进行编译和安装。 4. **编译和安装 APR-UTIL** - 进入 `../apr-util` 目录。 - 使用 `./configure --prefix=/home/local/apr-util --with-apr=/home/local/apr` 配置并指定APR的安装路径。 - 同样执行 `make` 和 `make install` 进行编译和安装。 5. **优化编译选项及配置可加载模块** - 使用补丁工具 `patch -p1 < ../mod_limitipconn-0.22/apachesrc.diff` 来应用针对Apache的补丁。 - 编译并安装自定义模块,例如 `mod_limitipconn` 和 `mod_evasive20`。 - 设置编译时的优化标志,如 `-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE` 以提高性能。 - 配置Apache编译选项,其中包括启用各种共享模块、缓存模块、代理模块等,例如: ```sh ./configure --prefix=/usr/local/apache2.2.3 --enable-mods-shared=all --enable-so --with-mpm=worker --enable-deflate --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-proxy --enable-rewrite --enable-charset-lite --enable-suexec --with-suexec-bin=/usr/sbin/suexec --disable-ipv6 --disable-dav --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util ``` 6. **编译及安装Apache** 使用 `gmake && make install` 命令进行编译和安装。 #### 二、Apache 2.2 配置优化 1. **配置拆分** 在主配置文件 `httpd.conf` 中,通过注释掉 `Include conf/Includes/*.conf` 行,将Apache的功能配置分成多个小文件,以便于管理。 2. **修改 MPM 参数** MPM (Multi-Processing Module) 参数对Apache服务器的性能至关重要。进入 `/usr/local/apache2.2/conf/extra/httpd-mpm.conf` 文件,调整以下参数: - `ServerLimit`: 控制可以运行的服务器进程的最大数量。 - `ThreadLimit`: 每个子进程中线程的最大数量。 - `StartServers`: 初始运行时启动的子进程数。 - `MaxClients`: 最大同时连接数。 - `MinSpareThreads`: 保持最少空闲线程数。 - `MaxSpareThreads`: 保持最多空闲线程数。 - `ThreadsPerChild`: 每个子进程创建的线程数。 - `MaxRequestsPerChild`: 每个子进程处理的请求总数后,会自动重启。 例如,可以设置如下参数: ```conf <IfModule mpm_worker_module> ServerLimit 64 ThreadLimit 64 StartServers 8 MaxClients 4096 MinSpareThreads 64 MaxSpareThreads 256 ThreadsPerChild 64 MaxRequestsPerChild 500 </IfModule> ``` 这样的设置能够更好地平衡资源利用和并发处理能力。 #### 三、其他建议 - **日志管理** 由于Apache的日志文件可能会非常大,因此可以通过配置 `cronolog` 工具来定期分割日志文件,以便于管理和分析。 - **安全性** 使用 `mod_limitipconn` 和 `mod_evasive20` 模块可以有效地防止IP地址滥用和DoS攻击,提高服务器的安全性。 - **性能监控** 定期检查Apache服务器的状态,使用如 `mod_status` 等模块可以帮助监控服务器的健康状况和性能指标。 Apache 2.2 的安装和配置涉及到多个方面,包括源码编译、模块选择、MPM配置以及安全性和性能优化等。合理地配置这些参数可以显著提高Apache服务器的性能和稳定性。
- 粉丝: 1
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助