Nginx+php+MySql(win sercer2012)

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

說明

親測原稿。以 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

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

安裝PHP

  1. 進入D:\wnmp\php-5.6目錄將php.ini-development復制一份改名為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 = 先去前面的分號再改為

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 

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

  1. 進入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;
        }
  1. 在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

  1. 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 (后綴也要改),雙擊打開(這時候可以關閉剛才的命令框了)

  1. 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

  1. 進入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
  1. 進入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
  1. 進入myslq修改初始密碼(進入需要剛才記錄的密碼)
mysql -u root -p

更改密碼

set password for root@localhost = password('123456'); (注意分號)
  1. 創(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 '賬號'@'%';
  1. 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/

  1. 下載redis的DLL文件(注意php版本)
    解壓后復制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
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容