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

Windows 下 Nginx + MySQL + PHP (WNMP) 環境完整搭建教程

     編輯:PHP 相關知識

Windows 下 Nginx + MySQL + PHP (WNMP) 環境完整搭建教程

在 Windows 上手動搭建高性能 Nginx + PHP 環境,適合學習 Nginx 配置、不想用集成包的開發者。

1. 軟件版本與下載

  • Nginx:nginx-1.4.7(官網 nginx.org)
  • MySQL:MySQL Server 5.5(官網或 歸檔)
  • PHP:php-5.4.39-nts-Win32-VC9-x86.zip(非線程安全,歸檔)

本教程安裝目錄統一規劃為 E:\wnmp\。

2. 目錄結構

E:\wnmp\
├── nginx\
├── mysql\
└── php\

3. Nginx 配置

# E:\wnmp\nginx\conf\nginx.conf 關鍵修改
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        root         E:/wnmp/nginx/html;
        index        index.html index.htm index.php;

        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }

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

4. PHP 配置

; E:\wnmp\php\php.ini 關鍵修改
extension_dir = "E:/wnmp/php/ext"
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_curl.dll

cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1

date.timezone = Asia/Shanghai

5. 啟動服務

# 1. 啟動 PHP-CGI (監聽 9000)
E:\wnmp\php\php-cgi.exe -b 127.0.0.1:9000 -c E:\wnmp\php\php.ini

# 2. 啟動 Nginx
E:\wnmp\nginx\nginx.exe -p E:\wnmp\nginx

# 3. 啟動 MySQL (已作為服務安裝,或 mysqld --console)
net start mysql

6. 管理腳本(雙擊運行)

@echo off
REM start_wnmp.bat
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
start /b "" "E:\wnmp\php\php-cgi.exe" -b 127.0.0.1:9000 -c E:\wnmp\php\php.ini
echo Starting Nginx...
start /b "" "E:\wnmp\nginx\nginx.exe" -p E:\wnmp\nginx
echo WNMP Started.
pause
@echo off
REM stop_wnmp.bat
echo Stopping Nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
echo WNMP Stopped.
pause

7. 測試驗證

// E:\wnmp\nginx\html\phpinfo.php
<?php phpinfo(); ?>
  • 瀏覽器訪問 https://localhost/phpinfo.php 顯示 PHP 信息頁 → 成功
  • 訪問 https://localhost/ 顯示 Nginx 歡迎頁

8. 常見問題排查

現象原因解決
502 Bad GatewayPHP-CGI 未啟動或端口不匹配檢查 9000 端口、php-cgi 進程、防火牆
No input file specifiedSCRIPT_FILENAME 路徑錯誤確保 root 指向正確、$document_root 變量正確
權限錯誤Windows 文件系統權限以管理員運行、授予 Users 讀寫權限
MySQL 連不上服務未啟動/端口衝突/密碼錯誤net start mysql、檢查 3306、root 密碼
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved