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 相关文章推荐
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
用PHP实现 上一篇、下一篇的代码
Sep 29 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
YII中assets的使用示例
Jul 31 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
PHP常用日期加减计算方法实例小结
Jul 31 PHP
PHP chunk_split()函数讲解
Feb 12 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实现异步调用方法研究与分享
2011/10/27 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
php计算整个目录大小的方法
2015/06/01 PHP
3种php生成唯一id的方法
2015/11/23 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
Python 正则表达式实现计算器功能
2017/04/29 Python
python select.select模块通信全过程解析
2017/09/20 Python
Python中optparser库用法实例详解
2018/01/26 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
GWT都有什么特性
2016/12/02 面试题
高中毕业生个人自我鉴定
2013/11/24 职场文书
自立自强的名人事例
2014/02/10 职场文书
学校食品安全实施方案
2014/06/14 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书