Php

如何讓 PHP 5.3.3 在 CentOS 5.5 上與 Nginx 一起工作?

  • September 24, 2010

我已經從原始碼將 Engine X 和 PHP 5.3.3 安裝到 CentOS 5.5 伺服器上。我認為安裝後一切順利,Engine X 確實可以提供靜態文件。

但是,當嘗試訪問基本的 php 文件時,它將 php 程式碼作為純文字提供。

Engine X 錯誤日誌顯示:

2010/09/23 20:49:35 [error] 3331#0: *6 connect() failed (111: Connection refused) while
連接到上游,客戶端:my.local.ip,伺服器:the_server,
請求:“GET / HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,
主機:“the.servers.ip”

我的配置文件內容如下:

伺服器 {
聽 *:80;

位置 ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/default$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
包括/usr/local/nginx/conf/fastcgi_params;
}
}

知道了!顯然,此版本預設關閉短標籤支持。所以 NginX 正確地傳遞了它,但是 PHP 忽略了簡短的 PHP 標記並將其發送回未處理。

  1. 確保 php-fpm 正在執行(ps auxw | grep php或任何方式)
  2. 確保 php-fpm 實際上正在監聽 9000。(檢查配置)
  3. 確保您的軟體防火牆沒有阻止 9000 上的環回連接。

我不是 nginx 人,但錯誤資訊很清楚:沒有人在 127.0.0.1:9000 接聽電話

引用自:https://serverfault.com/questions/184120