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.ini中文版(1)
Oct 09 PHP
PHP个人网站架设连环讲(二)
Oct 09 PHP
php下过滤HTML代码的函数
Dec 10 PHP
完美解决PHP中文乱码
Nov 26 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
Jun 29 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
May 25 PHP
php微信开发之关注事件
Jun 14 PHP
php如何比较两个浮点数是否相等详解
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缩略图生成程式(需要GD库支持)
2007/03/06 PHP
PHP中的float类型使用说明
2010/07/27 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
php intval函数用法总结
2019/04/14 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
Vue实现计算器计算效果
2020/08/17 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
2021/02/06 Javascript
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
集体婚礼证婚词
2014/01/13 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书