win平台安装配置Nginx+php+mysql 环境


Posted in PHP onJanuary 12, 2016

 1.准备工作

(1)PHP 版本5.6.17 下载地址  PHP官网  三水点靠木 下载地址

(2)Nginx 版本1.8.0 下载地址  Nginx官网  三水点靠木 下载地址

(3)MySQL 版本5.7.10 MySQL官网  三水点靠木 下载地址

2.php的安装与配置

直接解压下载好的php包,到D盘wnmp目录(D:\wnmp),这里把解压出来的文件夹重命名成php5。进入文件夹修改php.ini-delelopment文件为php.ini,并用Editplus或者Notepad++打开来。找到

extension_dir = "ext" 更改为 extension_dir = "D:/wnmp/php5/ext"

常用扩展,去掉最前面的";"

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll

nginx支持配置,去掉前面";"

;cgi.fix_pathinfo=1

;cgi.force_redirect = 1

;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1

3.Nginx的安装配置

将下载的包解压到D:\wnmp,直接运行目录下nginx.exe启动。

1.启动方式有3种

(1)双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。

(2)命令行到nginx目录,输入nginx启动。(注,此方式命令行窗口无任何提示,且被锁定)

(3)命令行到nginx目录,输入start nginx启动,此方式不锁定

2.修改配置支持PHP

进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到

location / {
   root  html;#这里是站点的根目录
   index index.html index.htm index.php;
}

 将root  html;改为root  D:/wnmp/www;

再往下,找到

# pass the PHP scripts to FastCGI serverlistening on 127.0.0.1:9000
#
#location ~ \.php$ {
#  root      html;
#  fastcgi_pass  127.0.0.1:9000;
#  fastcgi_index index.php;
#  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#  include    fastcgi_params;
#}

  先将前面的“#”去掉,同样将root  html;改为root   D:/wnmp/www;。再把标记为红色的/scripts改为“$document_root”,这里的

“$document_root”就是指前面“root”所指的站点路径,这是改完后的:

# pass the PHP scripts to FastCGI serverlistening 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;
}

保存配置文件,就可以了。

nginx+php的环境就初步配置好了,来跑跑看。我们可以输入命令

来启动php,并手动启动nginx,当然也可以利用脚本来实现。

首先把下载好的RunHiddenConsole.zip包解压到nginx目录内,RunHiddenConsole.exe的作用是在执行完命令行脚 本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。然后来创建脚本,命名为“start_nginx.bat”。

@echooff
REMWindows 下无效
REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
setPHP_FCGI_MAX_REQUESTS=1000
 
echo Starting PHPFastCGI...
RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -cD:/wnmp/php5/php.ini

echo Starting nginx...
RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx

再另外创建一个名为stop_nginx.bat的脚本用来关闭nginx

@echooff
echo Stoppingnginx... 
taskkill /F /IM nginx.exe > nul
echo Stopping PHPFastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

这样,我们的服务脚本也都创建完毕了。双击start_nginx.bat看看进程管理器是不是有两个nginx.exe的进程和一个php-cgi.exe的进程呢?

这样nginx服务就启动了,而且php也以fastCGI的方式运行了。

到站点目录下,新建一个phpinfo.php的文件,在里面编辑

<?php echo phpinfo();?>

保存后,打开浏览器输入“http://localhost/phpinfo.php”,如果看到

就说明,nginx+php的环境已经配置好了,呵呵~

4.MySQL安装和配置

 

(简略)MySQL安装下载后,一路next安装。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(5)
Oct 09 PHP
php str_pad 函数使用详解
Jan 13 PHP
discuz程序的PHP加密函数原理分析
Aug 05 PHP
Zend studio文件注释模板设置方法
Sep 29 PHP
php绘制一条弧线的方法
Jan 24 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
PHP使用MPDF类生成PDF的方法
Dec 08 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
php通过header发送自定义数据方法
Jan 18 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 #PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 #PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 #PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 #PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 #PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 #PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 #PHP
You might like
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
摘自启点的main.js
2008/04/20 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
玩转vue的slot内容分发
2018/09/22 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
关于Assembly命名空间的三个面试题
2015/07/23 面试题
NET程序员上机面试题
2015/05/23 面试题
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
结婚周年感言
2014/02/24 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
校本培训个人总结
2015/02/28 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL