Apache2 Apache禁用mpm_预工作错误:以下模块依赖于mpm_预工作,需要先禁用:php7.3

Apache2 Apache禁用mpm_预工作错误:以下模块依赖于mpm_预工作,需要先禁用:php7.3,apache2,scalability,apache2.4,Apache2,Scalability,Apache2.4,我在digitalocean上有一个8GB的水滴。我们今天发布了我们的网站,流量非常大,我们有大约3000个并发用户 我试图提高并发连接的数量(根据apache2buddy的建议),但建议MaxRequestWorkers为482。文件如下: <IfModule mpm_prefork_module> ServerLimit 482 StartServers 5 MinSpareServ

我在digitalocean上有一个8GB的水滴。我们今天发布了我们的网站,流量非常大,我们有大约3000个并发用户

我试图提高并发连接的数量(根据apache2buddy的建议),但建议MaxRequestWorkers为482。文件如下:

<IfModule mpm_prefork_module>
        ServerLimit             482
        StartServers              5
        MinSpareServers           5
        MaxSpareServers          10
        MaxRequestWorkers         482
        MaxConnectionsPerChild   0
</IfModule>
我得到了以下错误:

ERROR: The following modules depend on mpm_prefork and need to be disabled first: php7.3

我必须做些什么才能启用MPU worker

我在我的ubuntu服务器上找到了可能的解决方案,不知道你是否也在运行ubuntu,但是我觉得我所采取的步骤对于几乎所有的发行版都是一样的,在第一步中进行更改,您需要安装一个新的软件包,并且该命令可能会根据您使用的发行版而更改

所以第一步是

$ sudo a2dismod php7.3 mpm_prefork
这将禁用prefork模块,但在此之前,它将禁用php7.3模块以停止发生依赖项错误

接下来,我们启用worker模块

$ sudo a2enmod mpm_worker
现在,输出将建议您重新启动ApacheWeb服务器。所以,我们也这么做

$ sudo systemctl restart apache2
现在,如果你去查看你的网站主页,它可能会抛出一个错误或加载一个空白页面

那么,我们如何解决这个问题;我搜索了多个社区论坛,找到了一个与此相关的解决方案,但这是为了在ubuntu上尝试相同的解决方案,需要在ubuntu端进行一些调整,才能使这些步骤起作用

基于ubuntu操作系统的解决方案:

首先,我们启用proxy、proxy_fcgi和setenvif模块,然后安装与您的php版本相对应的php fpm包

$ sudo a2enmod proxy
$ sudo a2enmod proxy_fcgi
$ sudo a2enmod setenvif
$ sudo apt-get install php7.3-fpm -y
php7.3-fpm安装命令是您可能需要根据所使用的发行版检查安装步骤的命令

一旦安装了php fpm服务,您需要确保它被启用,然后启动它,因此

$ sudo a2enconf php7.3-fpm
$ sudo systemctl enable php7.3-fpm.service
$ sudo systemctl start php7.3-fpm.service
一旦php fpm服务成功启动,只需重新启动apache服务,以确保所有更改正确生效

$ sudo systemctl restart apache2

在采取这些步骤后,请检查/刷新你的网站主页,错误页面或空白页面将更改为合适的网站页面。

最终结果;您的网站已从使用预工作模块转变为使用工作模块来处理请求

另外,如果您想切换到事件模块而不是工作模块;只需在第二步中启用事件模块而不是工作模块;禁用php7.3和预工作模块后将使用的

替换

$ sudo a2enmod mpm_worker

之后的所有步骤保持不变,无论是否启用辅助程序或事件模块


这些步骤帮助我在服务器上从预工作模块切换到工作模块,希望它能帮助您以及其他遇到此问题的人。

非常感谢。它在ubuntu 16 LTS版本上工作。在换成MPU工人后,我可以看到绩效的提高。非常感谢您详细地分享这一点。
$ sudo a2enmod mpm_worker
$ sudo a2enmod mpm_event