【发布时间】:2013-06-21 20:25:05
【问题描述】:
我找到的所有教程都是如何全新安装 worker MPM + PHP-FPM,因为我的 wordpress 博客已经使用 prefork MPM 启动并运行,如果我在模拟安装过程中出错,请纠正我:
我在 ubuntu 上,根据一些教程,以下几行可以解决所有问题:
apt-get install apache2-mpm-worker libapache2-mod-fastcgi php5-fpm php5-gd
a2enmod actions fastcgi alias
然后你在/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>
做完这些,重启:
service apache2 restart && service php5-fpm restart
问题:
1) 对于以前使用 prefork MPM 运行的站点,是否会导致整个过程出现停机时间?
2) 是否必须更改任何已经存在的配置文件,例如 php 或 mysql 或 apache2(它们会在切换后立即生效而无需您做任何事情)?
3)我已经启动并运行了apc,切换后是否需要重新安装/重新配置?
4) 如何确定 apache2 是否按预期工作在 worker MPM 模式下?
非常感谢!
【问题讨论】:
-
我也在做同样的事情。你介意我问你是这样做的吗?它是否无缝运行或有问题?
-
@StephenBaugh:如果我没记错的话,只有一两分钟的停机时间,因为
prefork MPM和worker MPM不能同时存在,这意味着一旦apt-get install apache2-mpm-worker启动旧的prefork MPMapache服务器将立即停止并首先开始卸载,在您从apt-get ...安装所有内容并正确设置配置后,service apache2 restart && service php5-fpm restart应该让服务器在worker MPM模式下恢复工作。 -
谢谢谢恩。我真的很感谢你抽出时间来回复。我们在 AWS 上,所以我将启动一个实例并在开发环境中尝试它。很高兴知道这是您遇到的唯一问题。
-
作为旁注,您可以使用 nginx 来避免停机(例如 nginx 重新加载),它也适用于 php-fpm。