日期:2014-05-17  浏览次数:20620 次

初识Nginx for Windows 2

Nginx 与 PHP

?

由于对编程语言的配置全都不熟悉,所以就不班门弄斧,直接引用其他人的著作~~

PHP配置来自 http://zhidao.baidu.com/question/74350698.html


一、PHP的下载、安装 与 配置

???????
??????? 由于php是一个zip文件(非install版),安装较为简单,解压就行。把解压的 php5.2.1-Win32重命名为 php5。并复制到C盘目录下。即安装路径为 c:\php5
1???? 找到php目录下的 php.ini-dist或 php.ini.recommended文件,重命名为 php.ini
并复制到系统盘的windows目录下(以c:\windows为例).
2???? 再把php目录下的php5ts.dll,libmysql.dll复制到目录 c:\windows\system32下。
3???? 把php5\ext目录下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件复制到c:\windows\system32下
如果没有加载 php_gd2.dll???? php将不能处理图像。没有加载php_mysql.dll php将不支持mysql函数库
php_mbstring.dll在后面使用phpmyadmin时支持宽字符。
4 打开c:\windows\php.ini文件(关联到mysql)
设置扩展路径
查找 extension_dir 有这么一行extension_dir = "./"
将此行改成
extension_dir = "C:\php5\ext"
其中C:\php5是你安装php的路径。路径不正确将无法加载dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分号去掉)
查找 extension
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_mysql.dl
把上面3项前面的分号去掉,这样apache启动时就可以加载这些dll了
当然前面我们也把这些dll复制到system32下了l
php5时差问题
<?php echo date("Y-m-d H:i:s");?>时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC

?

Nginx的配置来自于http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html

?

二、Nginx 的 配置

?

为了能让Nginx能够和php协同工作。进入nginx的conf目录,打开nginx的配置文件nginx.conf,找到:

?

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

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

再往下,找到

?

# pass the PHP scripts to FastCGI server listening 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$fastcgi_script_name

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

?

# pass the PHP scripts to FastCGI server listening 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,当然也可以利用脚本来实现。

~~~~ 这里是 missingman 提供的 RunHiddenConsole.zip 下载地址 ~~~~

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

?

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...
RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini

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

?

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

?

@echo off
echo Stopping nginx