Nginx 是一個高性能的 Web 服務器和反向代理服務器。它使用事件驅動且內存占用低,是使用最廣泛的服務器之一。在與 PHP 配合使用時,Nginx 不僅可以協同工作,還可以大大提高網站的性能。今天,我們將詳細講解如何在 Nginx 中配置 PHP,并實現動態網頁。
首先需要安裝 PHP,這里我們使用 PHP-FPM,它是 PHP 的一個守護進程,可用于處理動態網站請求。配置 PHP-FPM 可以使用默認設置,但可以根據需要對其進行更改。將以下配置添加到 php.ini 中:
[php-fpm] ; 接受 FastCGI 請求的 IP 地址和端口 listen = 127.0.0.1:9000 ; PHP 進程的用戶和組 user = nobody group = nobody ; PHP-FPM 子進程工作的目錄 chroot = /var/run/php-fpm ; PHP 會話使用的文件存儲位置 session.save_path = /tmp一旦 PHP-FPM 已安裝并配置好,我們就可以創建一個基本的 Nginx 配置,以便支持 PHP。以下是一個示例 Nginx 配置:
server { listen 80; server_name example.com; #告訴 Nginx 找 PHP FastCGI 進程的地址和端口 location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #告訴 Nginx 找靜態文件 root /var/www/example.com; index index.html index.htm index.php; }在上面的 Nginx 配置中,我們告訴 Nginx 如何找到 PHP-FPM 守護進程并傳遞請求。這是使用 fastcgi_pass 指令完成的。以下是該指令的示例代碼:
location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }此外,我們還通過 SCRIPT_FILENAME 變量告訴 PHP-FPM 文件的路徑和名稱。我們在這里使用 $document_root 和 $fastcgi_script_name 變量,它們告訴 PHP-FPM 文件的根目錄以及請求的腳本名稱。如需更多細節的 FastCGI 配置,還可以在此處使用其他參數和指令。 需要注意的是,上述示例配置文件中的 unix:/var/run/php-fpm.sock 可能會因 PHP-FPM 的具體配置而有所不同(可以使用 TCP 網絡套接字而不是 Unix 套接字)。 在完成上述 Nginx 配置之后,就可以在網站根目錄中創建一個示例 PHP 文件,以驗證 PHP 是否正常工作。以下是示例代碼:一旦您訪問此網站并在瀏覽器中輸入其 URL,您將看到“Hello, World!”的輸出。這是一個簡單的示例,您可以根據需要添加其他 PHP 代碼,以實現功能強大的動態網站。 總之,使用 Nginx 可以輕松配置 PHP。只需按照本文所述進行操作,即可進入動態網頁的無限世界。通過合適的 Nginx 和 PHP-FPM 配置,您的站點將極大地提高性能,對于大流量網站尤其重要。