我们在生产中安装了当前即将成为遗留版本的 PHP 应用程序,由 apache 提供服务。运行良好。
当前正在尝试添加新的 Node.js alpha 堆栈,我们计划将其与实时框架一起安装一段时间以进行测试(目前在暂存服务器上,而不是生产服务器上)。
我们将使用 nginx 作为新环境中节点和其他几个服务的前端。此外,现在还需要继续为旧的 php 应用程序提供服务——通过 nginx(而不是 apache)。
我的问题:
在将 nginx 设置为此类服务的有效反向代理时,有任何实际生产技巧吗?对我来说,这似乎很简单,而且似乎完全按照预期工作 - 但我一直都是 apache 人,所以我只是想确保我没有忽略任何安全方面、性能方面等方面的问题。
从 apache 支持的 PHP 切换到 php-fpm 来为现有应用程序提供服务时,我应该注意什么?我以前从未使用过这种风格的 php,但它似乎是通过 nginx 执行此操作的最佳方式。所有明显的 ini 值都移植过来了,但我仍然觉得我可能遗漏了一些东西。
答案1
nginx 开箱即用,运行良好。压缩、Expires 标头和直接提供静态内容的正常性能考虑仍然适用。nginx 唯一真正的性能选项是
worker_process
和worker_connections
选项。我自己没有使用过 PHP-FPM,所以我不知道它与 FastCGI 上的标准 PHP(在 nginx 下)有多大区别。如果 PHP 设置是临时的,我可能会选择标准 PHP 而不是 FastCGI。