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是否安装成功;出现以下页面,安装成功!
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的配置信息)
4.最佳实践(使用脚本控制PHP和nginx的启动与关闭)
1)将RunHiddenConsole.zip解压后放到D:/wnmp中,将nginx.bat(作用php7、php5、nginx的脚本启动)脚本也放到D:/wnmp中
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 ,历时一天