W: Windows环境  使用win10

N:Nginx 

  是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。

   Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强

M:MySQL

  MySQL是一个 关系型数据库管理系统 ,MySQL 是最流行的 关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应  用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库  的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是 开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

P: PHP

  PHP(外文名:PHP: Hypertext Preprocessor,中文名:“ 超文本 预处理器”)是一种通用 开源 脚本语言。 语法吸收了 C语言、 Java和 Perl的特点,利于学习,使用 广泛,主要适用于 Web开发领域。PHP 独特的   语法混合了 C、 Java、 Perl以及 PHP自创的语法。它可以比 CGI或者 Perl更快速地执行 动态网页。用PHP做出的 动态页面与其他的 编程语言相比, PHP是将 程序嵌入到 HTML( 标准通用标记语言下的一个应     用)文档中去执行,执行效率比完全生成 HTML标记的 CGI要高许多;PHP还可以执行 编译后代码,编译可以达到 加密和 优化代码运行,使代码运行更快。

 

一、所需安装包

  nginx-1.14.0.zip、php-7.2.8-nts-Win32-VC15-x64.zip、RunHiddenConsole.zip(作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭)、nginx.bat(作用php7、php5、nginx的脚本启动)

  链接:https://pan.baidu.com/s/1o98vuq3qA9lfMJeaSBPAqA 密码:2egm

 

二、安装与配置

  1.nginx 的安装与配置

    1)在D盘创建文件夹wnmp

    2)把下载好的nginx-1.14.0的包解压到D盘的wnmp下,并重命名为nginx。

    3)点击nginx.exe手动打开nginx

    4)打开浏览器,输入http://localhost,查看nginx是否安装成功;出现以下页面,安装成功!

    

qcow2格式的镜像 windows10qcow2格式limbo镜像_php

 

  2.PHP安装与配置

    1)直接解压下载好的php包,到D:\wnmp,把解压出来的文件夹重命名成php7

    2)将php.ini-development文件修改为php.ini

    3)找到extension_dir ="./ext"更改为extension_dir ="D:/wnmp/php7/ext"

    4)找到extension=mbstring去掉前面的分号,找到extension=pdo_mysql去掉前面的分号

    5)找到cgi.fix_pathinfo=1去掉前面的分号,完成PHP的cgi配置

    6)启动php-cgi.exe,在cmd中跳转到D:/wnmp/php7 ,输入 php-cgi.exe -b 127.0.0.1:9000 -c php.ini 或 ./php-cgi.exe -b 127.0.0.1:9000 -c php.ini

  

  3.PHP与nginx的整合配置

    1)修改nginx的配置文件D:/wnmp/nginx/conf/nginx.conf

      A.找到        location / {                      root   html    #站点根目录                      index  index.html index.htm;                }

        修改为        location / {                        root   D:/wnmp/www;                        index  index.html index.htm;                   }

      B.找到   location ~ \.php$ 模块,将其做如下修改  

        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;              }

     2)重启nginx、php-cgi.exe

     3)在D:/wnmp/www中新建phpinfo.php文件

         <?php

           echo phpinfo();

      4)在浏览器地址栏输入http://localhost/phpinfo.php,若出现如下页面,说明php+nginx搭建成功(此页面显示PHP的配置信息)

      

qcow2格式的镜像 windows10qcow2格式limbo镜像_qcow2格式的镜像_02

  4.最佳实践(使用脚本控制PHP和nginx的启动与关闭)

    1)将RunHiddenConsole.zip解压后放到D:/wnmp中,将nginx.bat(作用php7、php5、nginx的脚本启动)脚本也放到D:/wnmp中

    

qcow2格式的镜像 windows10qcow2格式limbo镜像_nginx_03

    2)修改nginx.bat脚本

    将目录修改为自己nginx和php目录,若未安装php5,将关于php5的行全部删掉

    

@echo off
cls
color 0a
title Nginx服务管理程序

set ROOT_PATH=D:
set BIN_DIR=D:\wnmp\
set PHP7_DIR=D:\wnmp\php7\
set NGINX_DIR=D:\wnmp\nginx\

IF NOT EXIST "%BIN_DIR%RunHiddenConsole.exe" (
    echo "%BIN_DIR%RunHiddenConsole.exe"不存在
    goto :eof
)

)
IF NOT EXIST "%PHP7_DIR%php-cgi.exe" (
    echo "%PHP7_DIR%php-cgi.exe"不存在
    goto :eof
)
IF NOT EXIST "%NGINX_DIR%nginx.exe" (
    echo "%NGINX_DIR%nginx.exe"不存在
    goto :eof
)

echo.
echo ***************************************************
echo **************** Nginx服务管理程序 ****************
echo ****************    Auther:dmhe    ****************
echo ****************    Date:2018.6    ****************
echo ***************************************************
echo.
echo.

:menu
echo ==================== Nginx进程 ====================
tasklist /fi "imagename eq nginx.exe"
if ERRORLEVEL 1 (
    echo Nginx不存在
)

echo.
echo.
echo 命令:
echo.    [1] 启动Nginx和PHP7
echo.    [2] 启动Nginx和PHP5
echo.    [3] 重启Nginx
echo.    [4] 关闭Nginx和PHP
echo.    [5] 刷新控制台
echo.    [0] 退出
echo.
echo.
echo.请输入命令:
set /p ID=
    IF "%id%"=="1" GOTO start7
    IF "%id%"=="2" GOTO start5
    IF "%id%"=="3" GOTO restart
    IF "%id%"=="4" GOTO stop
    IF "%id%"=="5" GOTO menu
    IF "%id%"=="0" EXIT
PAUSE

:start7
    call :startPhp7
    call :startNginx
    goto menu
goto :eof

:start5
    call :startPhp5
    call :startNginx
    goto menu
goto :eof

:restart
    call :restartNginx
    goto menu
goto :eof

:stop
    call :stopPhp
    call :stopNginx
    goto menu
goto :eof

:startPhp7
    echo 启动Php7...
    %ROOT_PATH%
    cd "%BIN_DIR%"
    start "" RunHiddenConsole.exe %PHP7_DIR%php-cgi.exe -b 127.0.0.1:9000 -c %PHP7_DIR%php.ini
    echo Php7启动完成
goto :eof

:startPhp5
    echo 启动Php5...
    %ROOT_PATH%
    cd "%BIN_DIR%"
    start "" RunHiddenConsole.exe %PHP5_DIR%php-cgi.exe -b 127.0.0.1:9000 -c %PHP5_DIR%php.ini
    echo Php5启动完成
goto :eof

:stopPhp
    echo 关闭Php...
    %ROOT_PATH%
    cd "%BIN_DIR%"
    taskkill /F /IM php-cgi.exe > nul
    echo Php关闭完成
goto :eof

:startNginx
    echo 启动Nginx...
    %ROOT_PATH%
    cd "%NGINX_DIR%"
    start "" nginx.exe
    echo Nginx启动完成
goto :eof

:restartNginx
    echo 重启Nginx...
    =%ROOT_PATH%
    =cd "%NGINX_DIR%"
    =start "" nginx.exe -s reload
    taskkill /F /IM nginx.exe > nul
    call :startNginx
    echo Nginx重启完成
goto :eof

:stopNginx
    echo 关闭Nginx...
    =%ROOT_PATH%
    =cd "%NGINX_DIR%"
    =start "" nginx.exe -s stop
    taskkill /F /IM nginx.exe > nul
    echo Nginx关闭完成
goto :eof

 

 完成时间2018-08-02 ,历时一天