NGINX與PHP-FPM是用于構(gòu)建高效Web應用程序的兩個強大的工具,本文將介紹如何配置這兩個工具以獲得最高端的性能和可靠性。
首先,我們來看看NGINX的基本配置。在安裝NGINX并確保它正在運行之后,您需要創(chuàng)建一個配置文件來指定NGINX如何連接到您的PHP-FPM進程。以下是一個示例配置文件:
server { listen 80; root /path/to/your/web/app; index index.php; server_name example.com; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SERVER_NAME $server_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } }該配置文件執(zhí)行以下操作: 1. 監(jiān)聽80端口,指定您的站點的根目錄以及主頁為index.php; 2. 指定您的服務器名稱為example.com; 3. 定義如何處理URI請求,將對每個請求嘗試$uri/$uri/* /index.php,以確保所有請求都由index.php處理; 4. 發(fā)現(xiàn)包含.php擴展名的請求,由NGINX轉(zhuǎn)發(fā)到PHP-FPM進程(端口9000),并使用PHP-FPM處理您的PHP腳本。 接下來,讓我們看一下PHP-FPM的配置。使用PHP-FPM作為PHP解釋器可為性能和可靠性提供極大的好處。以下是一個示例php-fpm.conf文件的部分配置:
[global] pid = /var/run/php-fpm.pid error_log = /var/log/php-fpm/error.log [www] user = www-data group = www-data listen = 127.0.0.1:9000 listen.backlog = -1 listen.allowed_clients = 127.0.0.1 pm = dynamic pm.max_children = 40 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 200在該配置文件中,[global]段指定了PHP-FPM將寫入的PID文件和錯誤日志的位置。[www]段則指定了如何管理進程,其中定義監(jiān)聽IP和端口、用戶和組、管理進程的進程模型。在這里,我們使用動態(tài)進程管理,最大孩子進程數(shù)為40,且起始服務器數(shù)為10。我們還定義了其他參數(shù),如最小閑置服務器數(shù)和最大請求限制。 通過這些配置,您將能夠優(yōu)化NGINX和PHP-FPM以獲得最佳性能和可靠性。希望這篇文章能夠幫助您成功地配置這兩個工具并構(gòu)建高效的Web應用程序。