F.2. 切换 MPM
				服务器根据 Apache HTTP 服务器主机上的 00-mpm.conf 文件中的 LoadModule 指令选择 MPM。您可以通过从 00-mpm.conf 文件中该 MPM 的 LoadModule 指令中删除注释字符(#)来选择特定的 MPM。
			
				根据您使用的 Apache HTTP 服务器分发,00- mpm.conf 文件的位置会有所不同:
			
- 
						如果您使用 JBCS Apache HTTP 服务器,则 00-mpm.conf文件位于JBCS_HOME/httpd/conf.modules.d目录中。
- 
						如果您使用 RHEL Apache HTTP 服务器,00- mpm.conf 文件位于/etc/httpd/conf.modules.d目录中。
根据您使用的操作系统版本,请考虑以下准则:
- 在 RHEL 版本 8 和 9 中,默认选择 - 事件MPM。例如:- event MPM: A variant of the worker MPM with the goal of consuming threads only for connections with active processing See: http://httpd.apache.org/docs/2.4/mod/event.html - # event MPM: A variant of the worker MPM with the goal of consuming # threads only for connections with active processing # See: http://httpd.apache.org/docs/2.4/mod/event.html # LoadModule mpm_event_module modules/mod_mpm_event.so- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 事件MPM 是多线程的,旨在提供优化的性能。如果您使用 RHEL 版本 8 或 9,切换到另一个 MPM,如- prefork可能会导致性能问题。
- 在 RHEL 7 中,默认选择 - preforkMPM。例如:- prefork MPM: Implements a non-threaded, pre-forking web server See: http://httpd.apache.org/docs/2.4/mod/prefork.html - # prefork MPM: Implements a non-threaded, pre-forking web server # See: http://httpd.apache.org/docs/2.4/mod/prefork.html LoadModule mpm_prefork_module modules/mod_mpm_prefork.so- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果您使用 RHEL 7,请考虑切换到另一个 MPM,如 - worker或- 事件以避免可能出现性能问题。
					为了说明这一点,以下流程描述了如何从 prefork MPM 切换到 worker MPM。
				
流程
- 进入包含 - 00-mpm.conf文件的目录:- 
								如果您使用 JBCS Apache HTTP 服务器,请进入 JBCS_HOME/httpd/conf.modules.d目录。
- 
								如果您使用 RHEL Apache HTTP 服务器,请进入 /etc/httpd/conf.modules.d目录。
 
- 
								如果您使用 JBCS Apache HTTP 服务器,请进入 
- 编辑 - 00-mpm.conf,将注释(- #)字符添加到- preforkMPM 的- LoadModule指令中。- 例如: - prefork MPM: Implements a non-threaded, pre-forking web server See: http://httpd.apache.org/docs/2.4/mod/prefork.html - # prefork MPM: Implements a non-threaded, pre-forking web server # See: http://httpd.apache.org/docs/2.4/mod/prefork.html #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在同一个 - 00-mpm.conf文件中,从您要切换到的 MPM 的- LoadModule指令中删除注释(- #)字符。这些行位于- preforkMPM 下。- 例如,要载入 - workerMPM,请从- workerMPM 的- LoadModule指令中删除注释(- #)字符:- worker MPM: Multi-Processing Module implementing a hybrid multi-threaded multi-process web server See: http://httpd.apache.org/docs/2.4/mod/worker.html - # worker MPM: Multi-Processing Module implementing a hybrid # multi-threaded multi-process web server # See: http://httpd.apache.org/docs/2.4/mod/worker.html LoadModule mpm_worker_module modules/mod_mpm_worker.so- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 要验证 MPM 是否已正确配置,请输入以下命令: - sbin/apachectl -V - $ sbin/apachectl -V- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 前面的命令显示当前 MPM。 - 例如: - Server MPM: worker - Server MPM: worker- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow