windows7設定Nginx+php+mysql教學
最近在學習php,想把自己的學習經驗記錄下來,並寫一些經驗,僅供參考交流。此文適合那些剛接觸php,想要學習並想要自己建構Nginx+php+mysql環境的同學。
當然,你也可以選擇整合好的安裝包,例如 wamp等,不過我推薦大家還是自己手動搭建一下環境比較好,這樣能夠更好的了解php及其運作流程。下面直接進入正題。
步驟:
1.準備安裝包裝等
(1)nginx-1.10.1.zip,下載連結為http://nginx.org/en/download.html 。我個人選擇了穩定版。
(2)php-5.6.25-nts-Win32-VC11-x86.zip或x64.zip 下載連結為http://windows.php.net/download#php-5.6,依照系統類型選擇對應版本。
(3)mysql-installer--------.msi 下載連結為http://dlsw.baidu.com/sw-search-sp/soft/ea/12585/mysql-5.6.24-win32. 1432006610.zip,由於mysql官網需要註冊,所以我直接貼了百度的位址。
2.安裝mysql服務 (如果以前安裝過mysql則可以不必下載安裝,在操作的時候啟動mysql服務即可。)
雙擊mysql-install-------.msi安裝包進入安裝環境介面,選擇預設選項進行安裝,採用Typical(典型安裝),並啟動MySQL配置精靈,選擇預設選項配置,此處編碼選擇UTF -8,設定資料庫密碼後(一般為root),「Execute 」執行,點選「Finish」完成安裝。 要確保開啟mysql服務,檢查是否開啟服務的方法為: win+R 輸入services.msc 回車,查看是否如下圖所示有mysql服務並為開始狀態。
3.安裝nginx-1.10.1
(1)解壓縮nginx-1.10.1.zip檔至C:wnmpnginx,並進入該資料夾內,找到nginx.exe,滑鼠雙擊啟動下x.
進入任務管理器進程選項卡,如找到nginx.exe進程,即確認nginx已啟動。
開啟瀏覽器,在瀏覽器網址列內鍵入:http://127.0.0.1,如看到如下圖所示介面,說明nginx正常運作。
。
(2)進入C:wnmpnginxconf資料夾內,記事本或寫字板開啟nginx的設定檔nginx.conf
求以下兩處進行修改,修改內容如下
<span style="color: #000000;">server { listen </span>80<span style="color: #008000;">; </span> server_name localhost<span style="color: #008000;">; </span> #modify by lee 20160902<span style="color: #000000;"> for php -s location / { root C:/wnmp/www</span><span style="color: #008000;">; </span> index index.html index.htm index.php<span style="color: #008000;">; </span><span style="color: #000000;"> } # pass the PHP scripts to FastCGI server listening on </span>127.0.0.1:9000<span style="color: #000000;"> location ~ \.php$ { root C:/wnmp/www</span><span style="color: #008000;">; </span> fastcgi_pass 127.0.0.1:9001<span style="color: #008000;">; </span> fastcgi_index index.php<span style="color: #008000;">; </span> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name<span style="color: #008000;">; </span> include fastcgi_params<span style="color: #008000;">; </span><span style="color: #000000;"> } #modify by lee </span>20160902<span style="color: #000000;"> for php -e }</span>
4.安装php-5.6.25-nts-Win32-VC11-x64/x86
(1)解压php-5.6.25-nts-Win32-VC11-x64/x86.zip文件到C:\wnmp\php。
(2)进入C:\wnmp\php目录内,备份php.ini-development一份,将php.ini-development重命名为php.ini
查找定位并修改:
; extension_dir = "ext" ,删除前面的分号并修改为:extension_dir = "C:/wnmp/php/ext"
;extension=php_gd2.dll,删除前面的分号:extension=php_gd2.dll
;extension=php_mbstring.dll,删除前面的分号:extension=php_mbstring.dll
;extension=php_mysql.dll,删除前面的分号:extension=php_mysql.dll
;extension=php_mysqli.dll,删除前面的分号:extension=php_mysqli.dll
;extension=php_pdo_mysql.dll,删除前面的分号:extension=php_pdo_mysql.dll
;cgi.force_redirect = 1,删除前面的分号:cgi.force_redirect = 1
;cgi.fix_pathinfo=1,删除前面的分号:cgi.fix_pathinfo=1
;cgi.rfc2616_headers = 0,删除前面的分号:cgi.rfc2616_headers = 1
(3)配置环境变量:
打开环境变量配置窗口,
在系统环境变量中添加 变量 变量名:PHP_HOME 变量值:C:\wnmp\php
在系统环境变量中添加 变量 变量名:NGINX_HOME 变量值:C:\wamp\nginx
在path变量最后添加:%PHP_HOME%;%NGINX_HOME%; (注意添加分号)
(4)启动php-cgi 服务:
win+R 输入cmd回车,进入命令提示符界面,进入C:\wnmp\php>,
使用命令 php-cgi.exe -b 127.0.0.1:9001 -c php.ini
重新打开一个新的命令提示符界面,
输入命令: netstat -ano|findstr "9001"会出现 9001端口号占用情况
再次输入命令: tasklist|findstr "2892" (注:2892为上一个命令执行完毕后,最后一列显示的进程号)
如下图所示:表示 php-cgi服务启动成功
(5)编写启动脚本 start.bat (其实到上步为止,已经配置完成,但是为了以后便于启动各种服务,特此编写一个启动脚本。)
新建文本文档,重命名为start.bat
用记事本打开后,做如下编辑:
(如果所以文件目录与本教程所述完全一致,则此脚本可以直接使用,如果有区别,则需要对NGINX_DIR和PHP_DIR做相应修改后使用)
<span style="color: #000000;">@echo off rem the use of bat </span><span style="color: #0000ff;">echo</span> ==================begin========================<span style="color: #000000;"> cls SET NGINX_PATH</span>=<span style="color: #000000;">C: SET NGINX_DIR</span>=<span style="color: #000000;">C:\wnmp\nginx\ SET PHP_DIR</span>=<span style="color: #000000;">C:\wnmp\php\ color 0a TITLE Nginx Manager CLS ECHO. ECHO. </span>* * Nginx Manage App *<span style="color: #000000;"> ECHO. :MENU ECHO. </span>* nginx process list *<span style="color: #000000;"> tasklist</span>|findstr /i <span style="color: #800000;">"</span><span style="color: #800000;">nginx.exe</span><span style="color: #800000;">"</span><span style="color: #000000;"> ECHO. ECHO. [</span><span style="color: #800080;">1</span><span style="color: #000000;">] start Nginx ECHO. [</span><span style="color: #800080;">2</span><span style="color: #000000;">] stop Nginx ECHO. [</span><span style="color: #800080;">3</span><span style="color: #000000;">] restart Nginx ECHO. [</span><span style="color: #800080;">4</span><span style="color: #000000;">] exit ECHO. ECHO.Please input the number: set </span>/p ID=<span style="color: #000000;"> IF </span><span style="color: #800000;">"</span><span style="color: #800000;">%id%</span><span style="color: #800000;">"</span>==<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;"> GOTO start IF </span><span style="color: #800000;">"</span><span style="color: #800000;">%id%</span><span style="color: #800000;">"</span>==<span style="color: #800000;">"</span><span style="color: #800000;">2</span><span style="color: #800000;">"</span><span style="color: #000000;"> GOTO stop IF </span><span style="color: #800000;">"</span><span style="color: #800000;">%id%</span><span style="color: #800000;">"</span>==<span style="color: #800000;">"</span><span style="color: #800000;">3</span><span style="color: #800000;">"</span><span style="color: #000000;"> GOTO restart IF </span><span style="color: #800000;">"</span><span style="color: #800000;">%id%</span><span style="color: #800000;">"</span>==<span style="color: #800000;">"</span><span style="color: #800000;">4</span><span style="color: #800000;">"</span><span style="color: #000000;"> EXIT PAUSE :start call :startNginx call :startPhpFastCGI GOTO MENU :stop call :shutdownNginx GOTO MENU :restart call :shutdownNginx call :startNginx GOTO MENU :shutdownNginx ECHO. ECHO.Stop Nginx...... taskkill </span>/F /IM nginx.exe ><span style="color: #000000;"> nul ECHO.Stopping PHP FastCGI...... ECHO.OK,Stop all nginx process and php fastcgi goto :eof :startNginx ECHO. ECHO.Start Nginx...... IF NOT EXIST </span><span style="color: #800000;">"</span><span style="color: #800000;">%NGINX_DIR%nginx.exe</span><span style="color: #800000;">"</span> ECHO <span style="color: #800000;">"</span><span style="color: #800000;">%NGINX_DIR%nginx.exe</span><span style="color: #800000;">"</span><span style="color: #000000;"> is not exists </span>%NGINX_PATH%<span style="color: #000000;"> cd </span><span style="color: #800000;">"</span><span style="color: #800000;">%NGINX_DIR%</span><span style="color: #800000;">"</span><span style="color: #000000;"> IF EXIST </span><span style="color: #800000;">"</span><span style="color: #800000;">%NGINX_DIR%nginx.exe</span><span style="color: #800000;">"</span><span style="color: #000000;"> ( </span><span style="color: #0000ff;">echo</span> <span style="color: #800000;">"</span><span style="color: #800000;">start '' nginx.exe</span><span style="color: #800000;">"</span><span style="color: #000000;"> start </span><span style="color: #800000;">""</span><span style="color: #000000;"> nginx.exe ) ECHO.OK goto :eof :startPhpFastCGI ECHO. ECHO.Start PHP FastCGI...... IF NOT EXIST </span><span style="color: #800000;">"</span><span style="color: #800000;">%PHP_DIR%php-cgi.exe</span><span style="color: #800000;">"</span> ECHO <span style="color: #800000;">"</span><span style="color: #800000;">%PHP_DIR%php-cgi.exe</span><span style="color: #800000;">"</span><span style="color: #000000;"> is not exists </span>%NGINX_PATH%<span style="color: #000000;"> cd </span><span style="color: #800000;">"</span><span style="color: #800000;">%PHP_DIR%</span><span style="color: #800000;">"</span><span style="color: #000000;"> IF EXIST </span><span style="color: #800000;">"</span><span style="color: #800000;">%PHP_DIR%php-cgi.exe</span><span style="color: #800000;">"</span><span style="color: #000000;"> ( </span><span style="color: #0000ff;">echo</span> <span style="color: #800000;">"</span><span style="color: #800000;">start '' php-cgi.exe</span><span style="color: #800000;">"</span><span style="color: #000000;"> start </span>/b php-cgi.exe -b <span style="color: #800080;">127.0</span>.<span style="color: #800080;">0.1</span>:<span style="color: #800080;">9001</span> -<span style="color: #000000;">c php.ini ) ECHO.OK goto :eof</span>
(6)测试成功
在C:\wnmp下新建www文件夹,在www文件夹下新建php文件 index.php,并做如下编辑
如下mysqli_connect()代码部分需要 做相应更改。
<html> <head> <title>test <span style="color: #008080;">mysql</span>+php+nginx</title> </head> <body> <?<span style="color: #000000;">php </span><span style="color: #800080;">$link</span> = <span style="color: #008080;">mysqli_connect</span>("localhost","root","root"<span style="color: #000000;">); </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$link</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">echo</span> "db connect success!"<span style="color: #000000;">; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #0000ff;">echo</span> "db connect failed!"<span style="color: #000000;">; } </span>?> <br> <?php <span style="color: #008080;">phpinfo</span>();?> </body> </html>
双击上述 start.bat脚本文件,键盘输入 1后按下回车键
如下图所示,则表示nginx-php启动成功
打开浏览器,在浏览器地址栏内键入:http://127.0.0.1,如看到如下图所示界面,说明wnmp配置成功。
至此,WNMP配置成功!
下一篇文章会是 如何在nginx上配置Virtual Hosts 和Openssl的设定。
这是小弟首次发帖,如果有不足之处还请指正,欢迎评论交流。
参考链接:http://jingyan.baidu.com/article/636f38bb408ee4d6b84610b9.html