首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Windows 平台配置 Nginx + PHP 環境完整指南

     編輯:PHP 綜合知識

為什麼選擇 Nginx?

Nginx(讀音 "engine x")以高併發、低記憶體佔用著稱,核心優勢在於反向代理與負載均衡。相比 Apache、IIS,Nginx 事件驅動架構能以更少資源處理更多連接,適合高流量 Web 服務。

準備工作:軟體包下載

組件版本/說明下載關鍵字
Nginxnginx/Windows-1.0.4+nginx Windows
PHPphp-5.2.16-nts-Win32-VC6-x86.zipNon Thread Safe (nts) 版本
RunHiddenConsoleRunHiddenConsole.zip用於後台運行腳本

關鍵點:PHP 必須下載 Non Thread Safe (nts) 版本,因為 Nginx 與 PHP 通過 FastCGI 協議通訊。

PHP 安裝與配置

1. 解壓與重命名

將 PHP 解壓至 D:\wnmp\php5

2. 修改 php.ini

; 擴展目錄
extension_dir = "D:/wnmp/php5/ext"

; 啟用常用擴展(移除前面的分號)
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_curl.dll
extension=php_xml.dll
; ... 其他按需啟用

3. 關鍵 CGI 設置

cgi.fix_pathinfo=1

此設置對 Nginx + FastCGI 架構至關重要。

4. libmysql.dll 處理

將 php5\libmysql.dll 複製至 C:\Windows 或加入系統 PATH 環境變量。

Nginx 安裝與配置

1. 解壓目錄

解壓至 D:\wnmp\nginx

2. 修改 nginx.conf 核心配置

# 網站根目錄
location / {
    root D:/wnmp/www;
    index index.php index.html index.htm;
}

# PHP FastCGI 處理
location ~ \.php$ {
    root D:/wnmp/www;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

# 錯誤日誌
error_log logs/error.log;

注意:路徑分隔符統一使用正斜線 /,避免 Windows 反斜線轉義問題。

啟動腳本自動化

1. 啟動腳本 start_nginx.bat

@echo off
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini
echo Starting nginx...
RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx

2. 停止腳本 stop_nginx.bat

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

驗證安裝

  1. 雙擊 start_nginx.bat
  2. 任務管理器確認:2 個 nginx.exe 進程 + 1 個 php-cgi.exe 進程
  3. 在 D:\wnmp\www 建立 phpinfo.php:<?php phpinfo(); ?>
  4. 瀏覽器訪問 https://localhost/phpinfo.php,顯示 PHP 資訊頁即成功

常見問題排查

403 Forbidden 錯誤

原因 1:缺少索引文件

server {
    listen 80;
    server_name localhost;
    index index.php index.html;
    root /var/www;
}

確保根目錄存在 index.php 或 index.html

原因 2:權限問題

Linux 下執行:

chown -R nginx_user:nginx_user /htdocs

Windows 下確保 Nginx 進程用戶對網站目錄有讀取權限。

生產環境建議

  • 使用更高版本 Nginx(1.18+)與 PHP(7.4+/8.x)
  • 配置 PHP-FPM 進程池優化效能
  • 啟用 Gzip 壓縮、靜態資源快取
  • 配置 SSL 證書啟用 HTTPS
  • 設置日誌輪轉避免磁碟佔滿
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved