由于马克和他之前的回答对我希望实现的目标有了更好的理解,我发布了一个(希望)更清晰且略有不同的变化,因为该线程已达到饱和;
我正在尝试在 nginx 服务器上运行多个 WordPress 站点,其中每个站点都需要不同版本的 PHP。我希望通过使用多个版本的 PHP-FPM 来实现这一点,每个版本都运行不同版本的 PHP,与 nginx 分开。
然后我想使用.conf文件来控制每个站点使用的 PHP-FPM 服务器,允许该站点在所需的 PHP 版本上运行。(根据评论区)
目前我的 testsite1 服务器块看起来像这样,运行默认的 PHP 版本。
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/testsite1;
index index.php index.html index.htm;
server_name local.testsite1.com;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock; …Run Code Online (Sandbox Code Playgroud) 编辑:以供将来参考
我正在使用 PHP 5.5.12 运行带有 LEMP 堆栈的 Ubuntu 14.10。我有许多需要 PHP 5.3.3 的旧版 WordPress 站点以及一些使用相当新版本的 PHP 的 WP 站点,它们都在我本地机器上的 nginx上运行。
我的手被虚拟机和沙箱束缚了,我只能玩 nginx,因此这个问题。我了解人们的安全问题,但我需要这些网站在本地运行,以便我可以在将它们更新到最新的 PHP/WP 版本时测试损坏的功能。
我想让 nginx 根据 WordPress 站点运行正确版本的 PHP(使用 php-fpm)。根据另一个SF 问题,实现此目的的一种方法是让不同的 PHP 版本在不同的端口/套接字上运行,并配置 nginx 服务器块以使用相应的端口/套接字。
我已经手动编译了 PHP 5.3.3 以包含 php-fpm 但这是我得到的最远的。
实际上,我希望有人更详细地解释这个答案。我不太清楚如何“在不同的端口(或套接字)上运行每个版本的 php-fpm”或“在 nginx 服务器块的 fastcgi_pass 参数中配置适当的端口”。
我的一个服务器块看起来像这样以供参考
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/testsite1;
index …Run Code Online (Sandbox Code Playgroud)