Nginx+php+MySql(win sercer2012)

我的博客:https://blog.thuol.com

說明

親測(cè)原稿熏瞄。以 D:\wnmp 目錄為例(實(shí)際目錄可自行更改)

準(zhǔn)備

軟件包下載地址

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 (后臺(tái)以cgi啟動(dòng)nginx+php使用,沒找到官網(wǎng),自行百度下載)

php版本說明

non-thread-safe 非線程安全 與IIS 搭配環(huán)境
thread-safe 線程安全與apache 搭配的環(huán)境
php還有 VC6 VC9版本 區(qū)分VC6和VC9一個(gè)支持apache一個(gè)支持IIS
VC9 用在apache上也沒問題
如果是以FastCGI方式(搭配IIS惠拭、nginx)來執(zhí)行PHP 莫杈,都建議下載蛙婴、執(zhí)行 non-thread safe 版本的 PHP

在D盤建立wnmp目錄并在wnmp目錄下建立 nginx, mysql, php-5.6, www目錄敷钾,將軟件解壓到對(duì)應(yīng)目錄下。(D:\wnmp\www為代碼目錄)

安裝Nginx

  1. 進(jìn)入D:\wnmp\nginx目錄下愈犹,雙擊運(yùn)行nginx.exe文件键科。然后用瀏覽器打開http://localhost/ 出現(xiàn)Welcome to nginx! 成功。

安裝PHP

  1. 進(jìn)入D:\wnmp\php-5.6目錄將php.ini-development復(fù)制一份改名為php.ini


  2. 打開D:\wamp\php-5.6\php.ini文件 搜索extension_dir = "ext"甘萧,修為如下
extension_dir = "d:/wnmp/php-5.6/ext/"

搜索“date.timezone”萝嘁,找到:;date.timezone = 先去前面的分號(hào)再改為

date.timezone = Asia/Shanghai

搜索“enable_dl”,找到:enable_dl = Off 改為

enable_dl = On

搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分號(hào)再改為

cgi.force_redirect = 0

搜索“fastcgi.impersonate”扬卷,找到: ;fastcgi.impersonate = 1 去掉前面的分號(hào)

fastcgi.impersonate = 1

搜索“cgi.rfc2616_headers”牙言,找到:;cgi.rfc2616_headers = 0 先去前面的分號(hào)再改為

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 

其他的配置按照自己的需要更改怪得。

  1. 進(jìn)入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的設(shè)置,大概在第65-71行的


先將前面的“#”去掉卑硫,同樣將root html;改為root D:/wnmp/www;。再把“/scripts”改為“document_root”就是指前面“root”所指的站點(diǎn)路徑蚕断,修改完成如如下

        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;
        }
  1. 在D:\wnmp\www目錄內(nèi)新建1.php文件欢伏,并寫入
<?php 
        phpinfo();
?>

進(jìn)入D:\wnmp\php-5.6目錄,安裝shift鍵點(diǎn)擊右鍵 在此處打開命令窗口 輸入以下命令行啟動(dòng)php(命令窗口不能關(guān)閉亿乳,屬于前臺(tái)運(yùn)行模式)

php-cgi.exe -b 127.0.0.1:9000-c D:\wnmp\php-5.6\php.ini


進(jìn)入D:\wnmp\nginx 安裝shift鍵點(diǎn)擊右鍵 在此處打開命令窗口 輸入以下命令行重啟動(dòng)nginx(命令窗口不能關(guān)閉硝拧,屬于前臺(tái)運(yùn)行模式)

nginx.exe -s stop    #停止nginx
nginx.exe            #啟動(dòng)nginx


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

  1. nginx-php小工具
    將RunHiddenConsole.exe文件復(fù)制到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 啟動(dòng)Nginx * 
ECHO. * * 
ECHO. * 2 關(guān)閉Nginx * 
ECHO. * * 
ECHO. * 3 重啟Nginx * 
ECHO. * * 
ECHO. * 4 退 出 * 
ECHO. * * 
ECHO. * 5 啟動(dòng)Nginx-PHP環(huán)境 * 
ECHO. * * 
ECHO. * 6 關(guān)閉Nginx-PHP環(huán)境 * 
ECHO. * * 
ECHO. * * * * * * * * * * * * * * * * * * * * * * * * 
ECHO. 
ECHO.請(qǐng)輸入選擇項(xiàng)目的序號(hào): 
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.啟動(dòng)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.關(guān)閉Nginx...... 
taskkill /F /IM nginx.exe > nul 
ECHO.OK 
PAUSE 
GOTO MENU 
:cmd3 
ECHO. 
ECHO.關(guān)閉Nginx...... 
taskkill /F /IM nginx.exe > nul 
ECHO.OK 
GOTO cmd1 
GOTO MENU
:cmd5 
ECHO. 
ECHO.啟動(dòng)Nginx-PHP環(huán)境......
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5
REM 每個(gè)進(jìn)程處理的最大請(qǐng)求數(shù),或設(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.關(guān)閉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 (后綴也要改)葛假,雙擊打開(這時(shí)候可以關(guān)閉剛才的命令框了)

  1. nginx支持thinkphp配置(按需要設(shè)置)
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

  1. 進(jìn)入D:\wnmp\mysql障陶,復(fù)制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
  1. 進(jìn)入D:\wnmp\mysql\bin目錄下按著shift鍵點(diǎn)右鍵抱究, 在此打開命令窗口,(注意必須以管理員身份打開带斑,否則報(bào)錯(cuò)鼓寺。如果不是管理員請(qǐng)以管理員身份打開cmd并進(jìn)入D:\wnmp\mysql\bin目錄)
    輸入以下命令初始化mysql
mysqld --initialize --user=mysql --console    

記錄下紅色框內(nèi)的初始密碼(密碼前面是沒有空格的)


執(zhí)行下面命令將MySQL添加到系統(tǒng)服務(wù)

mysqld --install MySQL

執(zhí)行下面命令啟動(dòng)myslq

net start mysql
  1. 進(jìn)入myslq修改初始密碼(進(jìn)入需要?jiǎng)偛庞涗浀拿艽a)
mysql -u root -p

更改密碼

set password for root@localhost = password('123456'); (注意分號(hào))
  1. 創(chuàng)建其他用戶
CREATE USER '用戶名'@'%' IDENTIFIED BY '密碼';

添加訪問ip,%號(hào)代表所有IP都能訪問

GRANT GRANT OPTION ON *.* TO '賬號(hào)'@'%';

添加權(quán)限(所有權(quán)限)

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 '賬號(hào)'@'%';
  1. mysql 常用命令
net start mysql     #啟動(dòng)myslq服務(wù)
net stop mysql      #停止mysql服務(wù)

mysql管理小工具
在D:\wnmp\mysql目錄下新建一個(gè)文本粘貼如以下內(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 啟動(dòng)Mysql * 
ECHO. * * 
ECHO. * 2 關(guān)閉Mysql * 
ECHO. * * 
ECHO. * 3 重啟Mysql * 
ECHO. * * 
ECHO. * 4 退 出 * 
ECHO. * * 
ECHO. * * * * * * * * * * * * * * * * * * * * * * * * 
ECHO. 
ECHO.請(qǐng)輸入選擇項(xiàng)目的序號(hào): 
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.啟動(dòng)Mysql...... 
cd %Mysql_DIR% 
net start mysql
PAUSE 
GOTO MENU 
:cmd2 
ECHO. 
ECHO.關(guān)閉Mysql...... 
cd %Mysql_DIR% 
net stop mysql
PAUSE 
GOTO MENU 
:cmd3 
net stop mysql
net start mysql 
PAUSE 
GOTO MENU

改名字為 Mysql管理工具.bat (后綴也要改)勋磕,然后雙擊打開(需要管理員權(quán)限)

增加PHP擴(kuò)展妈候,以redis為例(其他擴(kuò)展大致相仿按需添加)

php擴(kuò)展官方地址http://pecl.php.net/

  1. 下載redis的DLL文件(注意php版本)
    解壓后復(fù)制php_redis.dll文件到D:\wnmp\php-5.6\ext目錄下
  2. 打開D:\wnmp\php-5.6下php.ini文件,添加以下代碼
extension=php_memcache.dll
  1. 重啟nginx-php瀏覽器里打開http://localhost/1.php
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挂滓,一起剝皮案震驚了整個(gè)濱河市州丹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌杂彭,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吓揪,死亡現(xiàn)場(chǎng)離奇詭異亲怠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)柠辞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門团秽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叭首,你說我怎么就攤上這事习勤。” “怎么了焙格?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵图毕,是天一觀的道長。 經(jīng)常有香客問我眷唉,道長予颤,這世上最難降的妖魔是什么囤官? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蛤虐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己烤低,他們只是感情好柔纵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著饲常,像睡著了一般蹲堂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上不皆,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天贯城,我揣著相機(jī)與錄音,去河邊找鬼霹娄。 笑死能犯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的犬耻。 我是一名探鬼主播踩晶,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼枕磁!你這毒婦竟也來了渡蜻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤计济,失蹤者是張志新(化名)和其女友劉穎茸苇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沦寂,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡学密,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了传藏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腻暮。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖毯侦,靈堂內(nèi)的尸體忽然破棺而出哭靖,到底是詐尸還是另有隱情,我是刑警寧澤侈离,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布试幽,位于F島的核電站,受9級(jí)特大地震影響霍狰,放射性物質(zhì)發(fā)生泄漏抡草。R本人自食惡果不足惜饰及,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望康震。 院中可真熱鬧燎含,春花似錦、人聲如沸腿短。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽橘忱。三九已至赴魁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钝诚,已是汗流浹背颖御。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凝颇,地道東北人潘拱。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像拧略,于是被迫代替她去往敵國和親芦岂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. Nginx的模塊與工作原理 Nginx由內(nèi)核和模塊組成垫蛆,其中禽最,內(nèi)核的設(shè)計(jì)非常微小和簡潔,完成的工作也非常簡單...
    rosekissyou閱讀 10,211評(píng)論 5 124
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 1,814評(píng)論 0 3
  • 我的博客:https://blog.thuol.com 說明 親測(cè)原稿袱饭。以 D:\wamp 目錄為例(實(shí)際目錄...
    00天火00閱讀 692評(píng)論 1 2
  • 個(gè)人學(xué)習(xí)批處理的初衷來源于實(shí)際工作川无;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求,從而在測(cè)試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,718評(píng)論 0 11
  • 第三章 承諾和一致 去上海路上虑乖,大巴舀透,至今接受不了公司沒公車。 路上剛看的這段决左,讓我頗多感觸。 人人都有一種言行一...
    JulieZhu閱讀 460評(píng)論 0 0