对于在windows上的php+nginx的配置可能好多同学一次根本都配不正确,于我也是如此,为此我将我成功配置的过程细致的总结如下,希望能帮助搞PHP研究的同学

1、资源准备

MySQL:这个链接不提供了大家搞开发的电脑没个MySQL安装程序实在是太不像话了。

PHP:http://windows.php.net/download/

(我下载的是VC9 x86 Thread Safe (2012-May-08 18:26:37)这个版本的zip包)

Ngnix:http://kevinworthington.com/nginx-for-windows/

(我下载的是1.2.0(32-bit)的安装程序)

RunHiddenConsole:http://www.haoboweb.com/uploads/allimg/110613/RunHiddenConsole.zip

(这个程序非常有用,知道Linux环境的nohup用法不?对,就是干同样的功能,不懂的话百度去吧)

2、配置步骤(省略MySQL安装,不过有时候MySQL安装失败重装的话是有一定难度的,可以参考我的相关文章予以解决)

PHP配置

1)将下载的PHP包加压至F:\php

2)将F:\php\php.ini-development文件备份一份,然后将原文件改名为php.ini

3)修改php.ini

指定php存放目录:doc_root = "C:\nginx\html"

更改扩展存放目录为真是拓展存放目录:extension_dir = "ext"

更改时区:date.timezone = Asia/BeiJing

因为nginx需要的是cgi方式的php,所以如下几个地方是重点,否则nginx无法打开php文件:

enable_dl = On

cgi.force_redirect = 0

cgi.fix_pathinfo=1

fastcgi.impersonate = 1

cgi.rfc2616_headers = 1

为了支持MySQL,请进行下面这样的操作:

在F:\\F:\PHP\php.ini中进行下几步查找定位

查找定位至:;extension=php_gd2.dll,去掉前面分号

查找定位至:;extension=php_mbstring.dll,去掉前面分号

查找定位至:;extension=php_mysql.dll,去掉前面分号

查找定位至:;extension=php_mysqli.dll,去掉前面分号

查找定位至:;extension=php_pdo_mysql.dll,去掉前面分号

Nginx配置

1)将下载的Nginx进行安装默认安装到C:\nginx目录

2)将C:\nginx\nginx.conf文件打开,进行如下修改

查找定位worker_connections改为worker_connections 64;(因为是本地开发使用,所以线程不开太多)

查找定位charset改为charset gbk;

下面贴出比较重要的片段

location / {

root   html;

index  index.html index.htm index.php;

autoindex on;

}

这里主要添加了inde.php

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;

}

这里要注意fastcgi_pass   127.0.0.1:9000端口要符合php的fastcgi运行端口

3)编写启动php-cgi.exe和nginx.ex的批处理程序(这样做是简化总是输入命令执行的麻烦)

新建一个目录F:\php-nginx-manage-cmd,将下载好的RunHiddenConsole.exe拷贝到此目录

在此目录创建start-php-nginx.bat,内容如下

@echo off

echo Starting PHP FastCGI...

RunHiddenConsole F:/php/php-cgi.exe -b 127.0.0.1:9000 -c F:/php/php.ini

echo Starting nginx...

RunHiddenConsole c:/nginx/nginx.exe

Exit

对于上面的内容中的三个路径你可以指定成你自己的实际程序安装路径

在此目录创建stop-php-nginx.bat,内容如下

@echo off

echo Stopping nginx...

taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...

taskkill /F /IM php-cgi.exe > nul

exit

对于上面的批处理希望你不要做修改

4)运行起来PHP的HelloWorld程序

前提:执行F:\php-nginx-manage-cmd\start-php-nginx.bat
  启动php-cgi和nginx后我们可以访问nginx的默认页面通过访问http://localhost/,如下图所示

C:\nginx\html\test1.php

<?php

echo "helloworld,";    //输出字符串helloworld

echo "this is my firstphp script.";          //同上

echo phpinfo();    //phpinfo()为系统函数  输出php环境信息

?>

访问http://localhost/test1.php,结果如下图所示


  C:\nginx\html\test2.php

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

<title>Welcome to nginx!</title>

</head>

<body>

<?php header("Content-Type:text/html;   charset=gbk");

$link = mysql_connect("localhost","root","root");

if($link){

echo "数据库连接成功!";

}else{

echo "数据库连接失败!";

}

?>

</body>

</html>

访问http://localhost/test2.php,结果页面如下


 OK!大功告成!试试吧,你会很快的

windows下配置PHP+Nginx+MySQL完整流程(转)的更多相关文章

  1. windows 下配置 Nginx 常见问题(转)

    windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...

  2. Windows下配置Nginx

    一.今天是2017年1月18日.揣着一种也许叫做冲动的心情,决定以后每天都记录和回顾新涉及的技术,巩固已学到的知识,坚持. 二.回归到今天的技术主题,因为之前对于[反向代理]这种技术充满了好奇,借此机 ...

  3. windows 下配置 Nginx 常见问题

    因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 ...

  4. CentOS和Windows下配置MySQL远程访问的教程

    CentOS和Windows下配置MySQL远程访问的教程   一.前言 由于实验在云服务器上跑的结果不是很理想.所以,现在切换到局域网服务器.因此,需要重新配置 Windows 服务器和 CentO ...

  5. 在CentOS/Windows下配置Nginx(以及踩坑)

    在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...

  6. windows下配置wnmp

    最近尝试windows下配置nginx+php+mysql,在这里总结一下. 1.下载windows版本的nginx,官网​下载地址:http://nginx.org/en/download.htm, ...

  7. windows下配置lamp环境(5)---配置MySQL5.6

    开始配置mysql 1.创建配置文件my.ini   1.进入C:\wamp\MySQL   2.把my-default.ini 另存一份:my.ini   3.开始编辑mysql的配置文件,打开my ...

  8. windows下配置lamp环境(3)---配置PHP5.4

    下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...

  9. windows下配置lamp环境(0)---软件获取

    工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...

随机推荐

  1. UVa 740 - Baudot Data Communication Code

    称号:目前编码,他们shift键被按下,并提出,对应的两个编码,其中,2相应的编码shift操作. 给你适当的编码值.寻求相应的字符串. 分析:模拟.字符串. 简单题,标记shift的升降分类处理就可 ...

  2. TRIZ系列-创新原理-28-替代机械系统原理

    替代机械系统原理的详细描写叙述例如以下:1)用光.声.热.嗅觉系统替代机械系统:2)用电.磁或电磁场来与物体交互作用:3)用移动场替代精巧场,用随时间变化的场替代固定场,用结构化的场替代随机场:4)使 ...

  3. CentOS修改用户密码方法

    CentOS修改用户密码方法 CentOS修改用户密码方法 1. 普通用户 a. 获取超级用户root权限 命令:su或者su -或者su - root b. passwd 用户名 2. 超级用户 a ...

  4. c# socket 判断端口是否被占用

    using System.Net; using System.Net.Sockets; using System.Net.NetworkInformation; IPGlobalProperties ...

  5. TDD

    初识TDD 首先说一下名词解释,TDD,英文名称Test-Driven Development,中文名称测试驱动开发,简单的断下句“测试/驱动/开发”,简单的理解一下,就是测试驱动着开发,大白话就是说 ...

  6. 十六进制颜色与Color对象的互相转换[C#]

    原文:十六进制颜色与Color对象的互相转换[C#] C#十六进制颜色与Color对象的互相转换 把十六进制颜色转化为color对象ColorTranslator.FromHtml("#FF ...

  7. ORA-00265: instance recovery required, cannot set ARCHIVELOG mode

    症状: 我打开后归档命令报告运行错误ORA-00265 SQL> alter database archivelog; alter database archivelog * ERROR at ...

  8. SQL点滴16—SQL分页语句总结

    原文:SQL点滴16-SQL分页语句总结 今天对分页语句做一个简单的总结,他们大同小异的,只要理解其中一个其他的就很好理解了. 使用top选项 *from Orders orderid from Or ...

  9. jekyll bootstrap搭建github blog

    前提你必须有一个GitHub账号且本机安装有Git 一.创建一个新的仓库 去你的https://github.com主页新建一个仓库 名字为USERNAME.github.com USERNAME为你 ...

  10. ExtJS4 自己定义基于配置的高级查询1

    今天在编码过程中遇到一个问题,临时还没解决,先记录下来 上面是我做的高级查询面板..字段名和值都是读取配置文件,依据用户选择不同的字段名,自己主动载入不同的值列表,关系是与或 问题来了,我在字段名那个 ...