服务器设置和教程 · 8 10 月, 2024

Nginx 新手教程:設置 fastcgi_pass 指令

Nginx 新手教程:設置 fastcgi_pass 指令

Nginx 是一款高效能的網頁伺服器,廣泛應用於靜態內容的提供和反向代理。對於需要處理動態內容的網站,Nginx 通常與 FastCGI 一起使用,特別是與 PHP 結合。本文將介紹如何設置 Nginx 的 fastcgi_pass 指令,以便有效地處理 PHP 請求。

什麼是 fastcgi_pass?

fastcgi_pass 是 Nginx 中用來將請求轉發到 FastCGI 伺服器的指令。這通常用於 PHP-FPM(PHP FastCGI Process Manager),它能夠處理 PHP 腳本的執行。通過這種方式,Nginx 可以專注於處理靜態文件,而將動態請求交給 PHP-FPM 處理。

安裝 PHP-FPM

在使用 fastcgi_pass 之前,首先需要確保 PHP-FPM 已經安裝並運行。以下是安裝 PHP-FPM 的基本步驟:

sudo apt update
sudo apt install php-fpm

安裝完成後,可以使用以下命令檢查 PHP-FPM 是否正在運行:

systemctl status php7.4-fpm

配置 Nginx

接下來,我們需要配置 Nginx 以使用 fastcgi_pass 指令。以下是一個基本的 Nginx 配置範例:

server {
    listen 80;
    server_name example.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

配置說明

  • server_name: 指定伺服器的域名。
  • root: 設定網站根目錄。
  • location /: 處理靜態文件的請求。
  • location ~ .php$: 對 PHP 文件的請求進行處理。
  • fastcgi_pass: 指定 PHP-FPM 的地址,這裡使用的是 Unix socket。
  • fastcgi_param SCRIPT_FILENAME: 設定 PHP 腳本的完整路徑。

測試配置

完成配置後,使用以下命令檢查 Nginx 配置是否正確:

sudo nginx -t

如果沒有錯誤,則可以重新啟動 Nginx 以應用更改:

sudo systemctl restart nginx

創建 PHP 測試文件

為了確認 Nginx 和 PHP-FPM 的配置是否正確,可以創建一個簡單的 PHP 測試文件:

<?php
phpinfo();
?>

將上述代碼保存為 info.php,並放置在網站根目錄中。然後在瀏覽器中訪問 http://example.com/info.php,如果一切正常,您應該能看到 PHP 的信息頁面。

總結

本文介紹了如何在 Nginx 中設置 fastcgi_pass 指令,以便有效地處理 PHP 請求。通過正確的配置,您可以充分利用 Nginx 的高效能和 PHP 的靈活性,為您的網站提供更好的性能和穩定性。如果您需要更多有關 香港VPS 的資訊,請訪問我們的網站。