在Ubuntu上,PHP-FPM(FastCGI Process Manager)與Nginx配合使用可以實現高效的PHP網站和應用服務。以下是配置Nginx以使用PHP-FPM的步驟:
安裝PHP-FPM: 在Ubuntu上,可以使用以下命令安裝PHP-FPM:
sudo apt-get update
sudo apt-get install php-fpm
配置PHP-FPM:
安裝完成后,PHP-FPM的默認配置文件通常位于/etc/php/版本號/fpm/pool.d/www.conf
。你可以根據需要編輯這個文件,例如設置監聽地址和端口。默認情況下,PHP-FPM監聽Unix套接字/run/php/php7.4-fpm.sock
(版本號可能會有所不同)。
配置Nginx:
編輯Nginx的站點配置文件,通常位于/etc/nginx/sites-available/
目錄下。你需要為你的站點創建一個配置文件,例如yourdomain.com
。
在配置文件中,找到location ~ \.php$
部分,并修改為以下內容,以便Nginx將PHP請求傳遞給PHP-FPM:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根據實際安裝的PHP版本調整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
如果你想讓Nginx也處理PHP請求(而不是總是傳遞給PHP-FPM),可以添加一個條件判斷:
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根據實際安裝的PHP版本調整
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
重啟Nginx和PHP-FPM服務: 保存配置文件后,重啟Nginx和PHP-FPM服務以應用更改:
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm # 根據實際安裝的PHP版本調整
測試配置:
創建一個名為info.php
的文件,放在你的網站根目錄下,內容如下:
<?php
phpinfo();
?>
在瀏覽器中訪問http://yourdomain.com/info.php
,如果看到PHP信息頁面,說明配置成功。
以上步驟應該可以幫助你在Ubuntu上配置Nginx以使用PHP-FPM。根據實際需求,你可能需要調整配置文件以滿足特定需求。