說明
親測原稿。以 D:\wnmp 目錄為例(實際目錄可自行更改)
準備
軟件包下載地址
Nginx官網(wǎng):http://nginx.org/
Mysql官網(wǎng):https://www.mysql.com/
PHP官網(wǎng):http://www.php.net/
本教程使用軟件
nginx-1.11.6.zip
mysql-5.7.16-winx64.zip
php-5.6.28-nts-Win32-VC11-x64.zip
RunHiddenConsole.exe (后臺以cgi啟動nginx+php使用,沒找到官網(wǎng),自行百度下載)
php版本說明
non-thread-safe 非線程安全 與IIS 搭配環(huán)境
thread-safe 線程安全與apache 搭配的環(huán)境
php還有 VC6 VC9版本 區(qū)分VC6和VC9一個支持apache一個支持IIS
VC9 用在apache上也沒問題
如果是以FastCGI方式(搭配IIS、nginx)來執(zhí)行PHP ,都建議下載、執(zhí)行 non-thread safe 版本的 PHP
在D盤建立wnmp目錄并在wnmp目錄下建立 nginx, mysql, php-5.6, www目錄,將軟件解壓到對應目錄下。(D:\wnmp\www為代碼目錄)

安裝Nginx
- 進入D:\wnmp\nginx目錄下,雙擊運行nginx.exe文件。然后用瀏覽器打開http://localhost/ 出現(xiàn)Welcome to nginx! 成功。
安裝PHP
-
進入D:\wnmp\php-5.6目錄將php.ini-development復制一份改名為php.ini
- 打開D:\wamp\php-5.6\php.ini文件 搜索extension_dir = "ext",修為如下
extension_dir = "d:/wnmp/php-5.6/ext/"

搜索“date.timezone”,找到:;date.timezone = 先去前面的分號再改為
date.timezone = Asia/Shanghai

搜索“enable_dl”,找到:enable_dl = Off 改為
enable_dl = On
搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分號再改為
cgi.force_redirect = 0
搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分號
fastcgi.impersonate = 1
搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分號再改為
cgi.rfc2616_headers = 1
搜索“php_mysql”,找到:”extension=php_mysql.dll和extension=php_mysqli.dll 去掉前面的“;”(支持MYSQL數(shù)據(jù)庫)
extension=php_mysql.dll
extension=php_mysqli.dll
其他的配置按照自己的需要更改。
-
進入D:\wnmp\nginx\conf目錄,打開修改nginx.conf文件
1)大概第43~45行之間的內(nèi)容
修改如下
location / {
root D:/wnmp/www;
index index.html index.htm inde.php;
}
2)支持php的設置,大概在第65-71行的

先將前面的“#”去掉,同樣將root html;改為root D:/wnmp/www;。再把“/scripts”改為“document_root”就是指前面“root”所指的站點路徑,修改完成如如下
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;
}
- 在D:\wnmp\www目錄內(nèi)新建1.php文件,并寫入
<?php
phpinfo();
?>
進入D:\wnmp\php-5.6目錄,安裝shift鍵點擊右鍵 在此處打開命令窗口 輸入以下命令行啟動php(命令窗口不能關閉,屬于前臺運行模式)
php-cgi.exe -b 127.0.0.1:9000-c D:\wnmp\php-5.6\php.ini

進入D:\wnmp\nginx 安裝shift鍵點擊右鍵 在此處打開命令窗口 輸入以下命令行重啟動nginx(命令窗口不能關閉,屬于前臺運行模式)
nginx.exe -s stop #停止nginx
nginx.exe #啟動nginx

使用瀏覽器打開http://localhost/1.php

-
nginx-php小工具
將RunHiddenConsole.exe文件復制到nginx根目錄下(D:\wnmp\nginx)
在D:\wnmp\nginx目錄內(nèi)新建文本文件粘貼以下內(nèi)容(注意路徑)
cls
@ECHO OFF
SET NGINX_PATH=D:
SET NGINX_DIR=D:\wnmp\nginx\
color 0a
TITLE Nginx Management
GOTO MENU
:MENU
CLS
ECHO.
ECHO. * * * * Nginx Management * * * * * * * * * * *
ECHO. * *
ECHO. * 1 啟動Nginx *
ECHO. * *
ECHO. * 2 關閉Nginx *
ECHO. * *
ECHO. * 3 重啟Nginx *
ECHO. * *
ECHO. * 4 退 出 *
ECHO. * *
ECHO. * 5 啟動Nginx-PHP環(huán)境 *
ECHO. * *
ECHO. * 6 關閉Nginx-PHP環(huán)境 *
ECHO. * *
ECHO. * * * * * * * * * * * * * * * * * * * * * * * *
ECHO.
ECHO.請輸入選擇項目的序號:
set /p ID=
IF "%id%"=="1" GOTO cmd1
IF "%id%"=="2" GOTO cmd2
IF "%id%"=="3" GOTO cmd3
IF "%id%"=="5" GOTO cmd5
IF "%id%"=="6" GOTO cmd6
IF "%id%"=="4" EXIT
PAUSE
:cmd1
ECHO.
ECHO.啟動Nginx......
IF NOT EXIST %NGINX_DIR%nginx.exe ECHO %NGINX_DIR%nginx.exe不存在
%NGINX_PATH%
cd %NGINX_DIR%
IF EXIST %NGINX_DIR% start %NGINX_DIR%nginx.exe
ECHO.OK
PAUSE
GOTO MENU
:cmd2
ECHO.
ECHO.關閉Nginx......
taskkill /F /IM nginx.exe > nul
ECHO.OK
PAUSE
GOTO MENU
:cmd3
ECHO.
ECHO.關閉Nginx......
taskkill /F /IM nginx.exe > nul
ECHO.OK
GOTO cmd1
GOTO MENU
:cmd5
ECHO.
ECHO.啟動Nginx-PHP環(huán)境......
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5
REM 每個進程處理的最大請求數(shù),或設置為 Windows 環(huán)境變量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
RunHiddenConsole D:/wnmp/php-5.6/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php-5.6/php.ini
echo Starting nginx...
RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx
PAUSE
GOTO MENU
:cmd6
ECHO.
ECHO.關閉Nginx-PHP環(huán)境......
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
PAUSE
GOTO MENU
并改名為 Nginx管理工具.bat (后綴也要改),雙擊打開(這時候可以關閉剛才的命令框了)

- nginx支持thinkphp配置(按需要設置)
server {
listen 80 ;
server_name localhost;
root d:/wnmp/www;
index index.html index.htm index.php;
error_page 404 /404.html;
location = /404.html {
return 404 'Sorry, File not Found!';
}
location / {
try_files $uri @rewrite;
}
location @rewrite {
set $static 0;
if ($uri ~ \.(css|js|jpg|jpeg|png|gif|ico|woff|eot|svg|css\.map|min\.map)$) {
set $static 1;
}
if ($static = 0) {
rewrite ^/(.*)$ /index.php?s=/$1;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /Uploads/.*\.php$ {
deny all;
}
location ~ \.php/ {
if ($request_uri ~ ^(.+\.php)(/.+?)($|\?)) { }
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_NAME $1;
fastcgi_param PATH_INFO $2;
fastcgi_param SCRIPT_FILENAME $document_root$1;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
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;
}
location ~ /\.ht {
deny all;
}
}
安裝Mysql
- 進入D:\wnmp\mysql,復制my-default.ini文件并改名為my.ini。
在D:\wnmp\mysql目錄下創(chuàng)建data文件夾,打開my.ini修改如下內(nèi)容
basedir = D:\wnmp\mysql
datadir = D:\wnmp\mysql\data
port = 3306

- 進入D:\wnmp\mysql\bin目錄下按著shift鍵點右鍵, 在此打開命令窗口,(注意必須以管理員身份打開,否則報錯。如果不是管理員請以管理員身份打開cmd并進入D:\wnmp\mysql\bin目錄)
輸入以下命令初始化mysql
mysqld --initialize --user=mysql --console
記錄下紅色框內(nèi)的初始密碼(密碼前面是沒有空格的)

執(zhí)行下面命令將MySQL添加到系統(tǒng)服務
mysqld --install MySQL
執(zhí)行下面命令啟動myslq
net start mysql
- 進入myslq修改初始密碼(進入需要剛才記錄的密碼)
mysql -u root -p
更改密碼
set password for root@localhost = password('123456'); (注意分號)

- 創(chuàng)建其他用戶
CREATE USER '用戶名'@'%' IDENTIFIED BY '密碼';
添加訪問ip,%號代表所有IP都能訪問
GRANT GRANT OPTION ON *.* TO '賬號'@'%';
添加權限(所有權限)
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO '賬號'@'%';
- mysql 常用命令
net start mysql #啟動myslq服務
net stop mysql #停止mysql服務
mysql管理小工具
在D:\wnmp\mysql目錄下新建一個文本粘貼如以下內(nèi)容(自己也可以修改注意路徑)
cls
@ECHO OFF
SET Mysql_PATH=D:
SET Mysql_DIR=D:\wnmp\mysql\bin
color 0a
TITLE Mysql Management
GOTO MENU
:MENU
CLS
ECHO.
ECHO. * * * * Mysql Management * * * * * * * * * * *
ECHO. * *
ECHO. * 1 啟動Mysql *
ECHO. * *
ECHO. * 2 關閉Mysql *
ECHO. * *
ECHO. * 3 重啟Mysql *
ECHO. * *
ECHO. * 4 退 出 *
ECHO. * *
ECHO. * * * * * * * * * * * * * * * * * * * * * * * *
ECHO.
ECHO.請輸入選擇項目的序號:
set /p ID=
IF "%id%"=="1" GOTO cmd1
IF "%id%"=="2" GOTO cmd2
IF "%id%"=="3" GOTO cmd3
IF "%id%"=="4" EXIT
PAUSE
:cmd1
ECHO.
ECHO.啟動Mysql......
cd %Mysql_DIR%
net start mysql
PAUSE
GOTO MENU
:cmd2
ECHO.
ECHO.關閉Mysql......
cd %Mysql_DIR%
net stop mysql
PAUSE
GOTO MENU
:cmd3
net stop mysql
net start mysql
PAUSE
GOTO MENU
改名字為 Mysql管理工具.bat (后綴也要改),然后雙擊打開(需要管理員權限)

增加PHP擴展,以redis為例(其他擴展大致相仿按需添加)
php擴展官方地址http://pecl.php.net/
- 下載redis的DLL文件(注意php版本)
解壓后復制php_redis.dll文件到D:\wnmp\php-5.6\ext目錄下
- 打開D:\wnmp\php-5.6下php.ini文件,添加以下代碼
extension=php_memcache.dll

- 重啟nginx-php瀏覽器里打開http://localhost/1.php





