Window下nginx+php配置

2013-10-28 liyangweb.com 李杨 服务器

总结一下本人在配置wnp的时候的一些小经验,也对网上一些资料的个别说的不明白的地方做一个补充,希望能改初学者带来方便。

所需软件:

nginx:nginx-15.6

下载地址:http://nginx.org/download/nginx-1.5.6.zip

网上好多资料都是0.x版本,我这里使用的是nginx-15.6版本。

 

php:php-5.4.21-nts-Win32-VC9-x86

下载地址:http://windows.php.net/downloads/releases/php-5.4.21-nts-Win32-VC9-x86.zip

php5.5不支持windows xp,而我的开发机器是xp,所以这里使用php5.4版本。

php版本一定要是nts的,nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包。


RunHiddenConsole

下载地址:http://yunpan.cn/Q9jmzMtfDUDMP

RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。

 

第一步:安装nginx

将下载到的nginx-15.6.zip解压至C盘根目录下,改名为nginx。

由于我的电脑中已经安装好了apache,apache占用了我的80端口,所以,我这里需要更改一下配置文件C:\nginx\conf\nginx.conf,将端口号改为8080,如下图1。(如果你的80端口没有被占用,这里可以不做修改)

 nginx配置第一步.png

我比较习惯把项目文件放到www目录下,所以我在nginx目录下新建了一个www目录,同时设置项目的根目录为C:/nginx/www,如上图2。

双击nginx.exe即可启动nginx服务,这时从任务管理器里可以看到两个nginx.exe的进程。

在浏览器中输入 http://localhost:8080,如果出现了nginx的欢迎页面,说明nginx安装成功。

第二步:安装php

将php-5.4.21-nts-Win32-VC9-x86.zip解压到nginx下的php5.4文件夹中。

找到php.ini-development文件,改名为php.ini。

打开php.ini

设置php扩展目录 extension_dir = "C:/nginx/php5.4/ext",加载mysql.dll、gd2.gll……的时候会使用到这个配置。

将display_errors = Off,改为display_errors = On,显示错误信息,方便调试。

设置cgi.fix_pathinfo=1PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则 PHP 将无法找到需要处理的 PHP 文件。

开启php_gd2.dll、php_mysql.dll、php_mysqli.dll等扩展,将改行前的分号去掉。(此操作为了方便日后开发,于今天的主题无关)。

开启php支持:

nginx配置第二步.png


将root  html改为root   C:/nginx/www,/scripts$fastcgi_script_name改为C:/nginx/www$fastcgi_script_name,

也可将/scripts$fastcgi_script_name改为$document_root$fastcgi_script_name,这里需要依赖cgi.fix_pathinfo,请确保php.ini中cgi.fix_pathinfo=1。

到这里,我们的环境就基本配置成功了。测试一下:

输入命令C:/nginx/php5.4/php-cgi.exe -b 127.0.0.1:9000 -c C:/nginx/php5.4/php.ini,如果任务管理器里面出现了php-cgi.exe进程的话,说明php安装成功了,但是只要关掉命令框,php-cgi也会被被关闭。这时要用到我们的RunHiddenConsole了。

RunHiddenConsole.zip解压后,把RunHiddenConsole.exe放到nginx目录下,输入命令C:/nginx/RunHiddenConsole C:/nginx/php5.4/php-cgi.exe -b 127.0.0.1:9000 -c C:/nginx/php5.4/php.ini,php-cgi.exe进程会开启,关掉命令框,进程还在。

在www目录下新建phpinfo.php

<?php
    phpinfo();
?>
访问http://localhost/phpinfo.php,可以查看到php及nginx的详细信息。


但是每次这样开启服务未免有点太麻烦,我们可以创建一个批处理文件来帮助我们快速的开启、关闭nginx和php。

新建文本文件start_nginx.bat,输入内容(注意路径,如果和我的不一样,请自行修改)

@echo off

REM set PHP_FCGI_CHILDREN=5

set PHP_FCGI_MAX_REQUESTS=1000
 
echo Starting PHP FastCGI...
RunHiddenConsole C:/nginx/php5.4/php-cgi.exe -b 127.0.0.1:9000 -c C:/nginx/php5.4/php.ini
 
echo Starting nginx...
RunHiddenConsole C:/nginx/nginx.exe -p C:/nginx
新建文件stop_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

至此wnp环境搭建完成。



标签: nginx

发表评论:

Powered by emlog 冀ICP备13011830号-1