Debian 上用于 Nginx 的 PHP-FPM

Debian 上用于 Nginx 的 PHP-FPM

在 Debian 上安装 php-fpm 以用于 nginx 的首选/推荐方法是什么?我到处都读到有关“php5-fpm”包的信息,但它在官方 Debian 存储库中不再可用。

PHP-FPM 网站 (http://php-fpm.org/download/) 表示 fpm 现在已包含在 php 核心中。那么安装“php5-common”就够了吗?但是配置文件在哪里?

其他人建议从 dotdeb.org 安装最新版本的 php 和 php-fpm。那里提供的版本通常更新。但它安全吗?这是一个适合在生产环境中使用的良好 repo 吗?

我将非常感激您的任何建议。

答案1

PHP5-FPM 自 2010 年 6 月起随核心 PHP 项目一起发布,但自不到一年前 5.4.0RC2 版本发布以来才被授予非实验状态。1对于 Debian,它可在 Wheezy(正在测试)及更高版本中使用2,因为它还没有进入 Squeeze 版本。它也许有一天会在“官方” squeeze-backports 中可用,但那仍然是 PHP 5.3.x。

目前,你必须坚持使用自定义构建,例如dotdeb.org如果您需要运行 Debian Squeeze 但又不想自己编译所有内容。

仅供参考,Ubuntu 已经发布了三个稳定版本,包括 PHP-FPM。3

答案2

按照第一个答案中的建议,我使用了 dotdeb.org 中的软件包。为了防止 apt 安装此 repo 中的所有可用软件包,我按照此建议在 /etc/apt/preferences 中使用 apt-pinning回答

我的设置如下:

安全首选项

Pin: release l=Debian-Security
Pin-Priority: 1000
Package: *

稳定首选项

Pin: release a=stable
Pin-Priority: 990
Package: *

点deb.pref

Package: *
Pin: release o=packages.dotdeb.org
Pin-Priority: 100

Package: libapache2-mod-php5 libapache2-mod-php5filter php-pear php5-cgi php5-cli php5-common php5-curl php5-dbg php5-dev php5-enchant php5-fpm php5-gd php5-gmp php5-imap php5-interbase php5-intl php5-ldap php5-mcrypt php5-mysql php5-odbc php5-pgsql php5-pspell php5-recode php5-snmp php5-sqlite php5-sybase php5-tidy php5-xmlrpc php5-xsl php5
Pin: release o=packages.dotdeb.org
Pin-Priority: 991

(按照上面链接的答案所示创建相应的 sources.list 文件。)

使用此设置,dotdeb 包永远不会被安装默认情况下(因为安全性仍然是首要考虑的问题)并且所有“非 php”软件包(如 nginx、redis、mysql 等)均未安装根本.(优先级:100)

要安装(想要的)php 软件包,请运行 apt-get-t指定要安装的存储库,例如:

apt-get install -t stable php5-fpm php5-common php5-cgi

(请记住,您必须在安装语句中包含所有依赖项!)

当然,您可以根据自己的情况调整此设置。希望这有助于您走上正确的道路。

了解有关 apt-pinning 的更多信息在本指南中以及手册页

相关内容