在ubuntu上从prefork MPM切换到worker MPM + php-fpm

Sha*_*ane 10 php apache2

我找到的所有教程都是如何全新安装工人MPM + PHP-FPM,因为我的wordpress博客已经启动并运行了prefork MPM,如果我在模拟安装过程中出错了,请纠正我:

我在ubuntu上,根据一些教程,以下几行将完成所有技巧:

apt-get install apache2-mpm-worker libapache2-mod-fastcgi php5-fpm php5-gd
a2enmod actions fastcgi alias
Run Code Online (Sandbox Code Playgroud)

然后在以下位置设置配置/etc/apache2/conf.d/php5-fpm.conf:

<IfModule mod_fastcgi.c>
                AddHandler php5-fcgi .php
                Action php5-fcgi /php5-fcgi
                Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
</IfModule>
Run Code Online (Sandbox Code Playgroud)

完成所有这些后,重启:

service apache2 restart && service php5-fpm restart
Run Code Online (Sandbox Code Playgroud)

题:

1)在以前运行prefork MPM的网站的整个过程中是否会导致停机时间?

2)你是否必须更改任何已经存在的配置文件,如php或mysql或apache2(它们会在切换后立即生效而不做任何事情)?

3)我已经启动并运行apc,你必须在切换后重新安装/重新配置吗?

4)如何确定apache2是否按预期在工作MPM模式下工作?

非常感谢!

tro*_*man 5

  1. 是的,它必须至少替换正在运行的httpd进程.你肯定想先在开发设置上测试这个.很容易在配置文件中出错,需要一段时间才能搞清楚.

  2. 没有改变php,mysql.是的更改apache httpd.conf以放入工作程序配置 - 它们与prefork设置非常不同.你需要在httpd.conf中自己做这些更改.

  3. 不,因为这是一个php模块,每当php运行它都有效.也就是说,它会在php-fpm中为每个池运行一个副本,所以如果你有多个域,你可以将它们分组到一个池中进行共享......但是如果你这样做,请注意安全问题.

  4. httpd -V显示"server mpm"

祝好运!