我找到的所有教程都是如何全新安装工人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模式下工作?
非常感谢!
是的,它必须至少替换正在运行的httpd进程.你肯定想先在开发设置上测试这个.很容易在配置文件中出错,需要一段时间才能搞清楚.
没有改变php,mysql.是的更改apache httpd.conf以放入工作程序配置 - 它们与prefork设置非常不同.你需要在httpd.conf中自己做这些更改.
不,因为这是一个php模块,每当php运行它都有效.也就是说,它会在php-fpm中为每个池运行一个副本,所以如果你有多个域,你可以将它们分组到一个池中进行共享......但是如果你这样做,请注意安全问题.
httpd -V显示"server mpm"
祝好运!