windows7配置Nginx+php+mysql的详细教程


Posted in PHP onSeptember 04, 2016

最近在学习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服务并为开始状态。

windows7配置Nginx+php+mysql的详细教程

3.安装nginx-1.10.1

(1)解压nginx-1.10.1.zip文件至C:\wnmp\nginx,并进入该文件夹内,找到nginx.exe,鼠标双击nginx.exe,启动nginx。

进入任务管理器进程选项卡,如找到nginx.exe进程,即确认nginx已启动。

 打开浏览器,在浏览器地址栏内键入:http://127.0.0.1,如看到如下图所示界面,说明nginx正常工作。

windows7配置Nginx+php+mysql的详细教程

(2)进入C:\wnmp\nginx\conf文件夹内,记事本或写字板打开nginx的配置文件nginx.conf

找到如下两处进行修改,修改内容如下

server {
listen 80;
server_name localhost;
#modify by lee 20160902 for php -s
location / {
root C:/wnmp/www;
index index.html index.htm index.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
location ~ \.php$ {
root C:/wnmp/www;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#modify by lee 20160902 for php -e
}

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服务启动成功

windows7配置Nginx+php+mysql的详细教程

(5)编写启动脚本 start.bat (其实到上步为止,已经配置完成,但是为了以后便于启动各种服务,特此编写一个启动脚本。)

 新建文本文档,重命名为start.bat

用记事本打开后,做如下编辑:

(如果所以文件目录与本教程所述完全一致,则此脚本可以直接使用,如果有区别,则需要对NGINX_DIR和PHP_DIR做相应修改后使用)

@echo off
rem the use of bat
echo ==================begin========================
cls 
SET NGINX_PATH=C:
SET NGINX_DIR=C:\wnmp\nginx\
SET PHP_DIR=C:\wnmp\php\
color 0a 
TITLE Nginx Manager
CLS 
ECHO. 
ECHO. * * Nginx Manage App * 
ECHO. 
:MENU 
ECHO. * nginx process list * 
tasklist|findstr /i "nginx.exe"
ECHO. 
ECHO. [1] start Nginx 
ECHO. [2] stop Nginx 
ECHO. [3] restart Nginx 
ECHO. [4] exit 
ECHO. 
ECHO.Please input the number:
set /p ID=
IF "%id%"=="1" GOTO start 
IF "%id%"=="2" GOTO stop 
IF "%id%"=="3" GOTO restart 
IF "%id%"=="4" 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 /F /IM nginx.exe > nul
ECHO.Stopping PHP FastCGI......
ECHO.OK,Stop all nginx process and php fastcgi
goto :eof
:startNginx
ECHO. 
ECHO.Start Nginx...... 
IF NOT EXIST "%NGINX_DIR%nginx.exe" ECHO "%NGINX_DIR%nginx.exe" is not exists 
%NGINX_PATH% 
cd "%NGINX_DIR%" 
IF EXIST "%NGINX_DIR%nginx.exe" (
echo "start '' nginx.exe"
start "" nginx.exe
)
ECHO.OK
goto :eof
:startPhpFastCGI
ECHO. 
ECHO.Start PHP FastCGI......
IF NOT EXIST "%PHP_DIR%php-cgi.exe" ECHO "%PHP_DIR%php-cgi.exe" is not exists 
%NGINX_PATH% 
cd "%PHP_DIR%" 
IF EXIST "%PHP_DIR%php-cgi.exe" (
echo "start '' php-cgi.exe"
start /b php-cgi.exe -b 127.0.0.1:9001 -c php.ini
)
ECHO.OK
goto :eof

(6)测试成功

在C:\wnmp下新建www文件夹,在www文件夹下新建php文件 index.php,并做如下编辑

如下mysqli_connect()代码部分需要 做相应更改。

<html>
<head>
<title>test mysql+php+nginx</title>
</head>
<body>
<?php
$link = mysqli_connect("localhost","root","root");
if($link){
echo "db connect success!";
}else{
echo "db connect failed!";
}
?>
<br>
<?php phpinfo();?>
</body>
</html> 

双击上述 start.bat脚本文件,键盘输入 1后按下回车键

如下图所示,则表示nginx-php启动成功

windows7配置Nginx+php+mysql的详细教程

打开浏览器,在浏览器地址栏内键入:http://127.0.0.1,如看到如下图所示界面,说明wnmp配置成功。

windows7配置Nginx+php+mysql的详细教程

至此,WNMP配置成功!

以上所述是小编给大家介绍的windows7配置Nginx+php+mysql的详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP脚本的10个技巧(2)
Oct 09 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
input file获得文件根目录简单实现
Apr 26 PHP
关于PHP session 存储方式的详细介绍
Jun 25 PHP
thinkphp中空模板与空模块的用法实例
Nov 26 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
Dec 17 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
Laravel实现ApiToken认证请求
Oct 14 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 PHP
php模拟post提交请求调用接口示例解析
Aug 07 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
Sep 02 #PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 #PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 #PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 #PHP
深入浅析Yii admin的权限控制
Aug 31 #PHP
php解决和避免form表单重复提交的几种方法
Aug 31 #PHP
PHP Callable强制指定回调类型的方法
Aug 30 #PHP
You might like
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
python构造IP报文实例
2020/05/05 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
见习期自我鉴定
2013/11/07 职场文书
担保书格式及范文
2014/04/01 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
金陵十三钗观后感
2015/06/04 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers