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中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
浅谈php错误提示及查错方法
Jul 14 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
php封装的连接Mysql类及用法分析
Dec 10 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
Nov 02 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
php 的多进程操作实践案例分析
Feb 28 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 向访客和爬虫显示不同的内容
2009/11/09 PHP
JavaScript面象对象设计
2008/04/28 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
详解Python中find()方法的使用
2015/05/18 Python
深入理解Python装饰器
2016/07/27 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
水产养殖学应届生求职信
2013/09/29 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
优秀学生获奖感言
2014/02/15 职场文书
自荐信的基本格式
2014/02/22 职场文书
赡养老人协议书
2014/04/21 职场文书
和谐社区口号
2014/06/19 职场文书
医学生求职信
2014/07/01 职场文书