windows php nginx安装,windows下php+nginx安装配置

为了开发方便,所以也想在win下配置一下php+nginx

不同于apache+php,nginx+php都全源码解压即可,不要怕。

一、源码下载php.

我选 的是php.5.4.23-nts-win32-vc9-x86.zip(只要源码中有php-cgi.exe就可以的)。因系统早升为64位,还担心会有问题,可是php在5.5才开始区分64和32,而且它的64位也是“实验性”的,所以我们还是用x86包就可以了。

解压好了后,请从php.ini-develope中拷出一份php.ini来,主要改动以下:

1、; extension_dir = "ext"去掉前面的注释符号,使其生效

2、enable_dl=Off  改为 On

3、;cgi.force_redirect=1 改为 cgi.force_redirect=0

4、;fastcgi.impersonate=1改为去掉注释符号,使用成为fastcgi.impersonate=1

5、;cgi.rfc2616_headers=0 改为 cgi.rfc2616.headers=1

剩下的根据实际情况打开需要的扩展;另外,把date.timezone="Asia/Shanghai"设置一下,以免运行过程中报date未指定时区的warning.

二、源码下载nginx

我选 的是nginx-1.4.4.zip。解压。

跟linux下配置nginx.conf差不多的了。加自己的server:

server {

listen              80;

server_name         my.test.com;

root D:/webserver/htdocs/myroot;

index  index.html index.htm index.php;

include common.conf;

}

为了方便,写一个common.conf ,把它include进来

common.conf内容:

location ~ \.php(/.*)?$ {

set $path_info "";

if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param PATH_INFO $path_info;

# Intercepting errors will cause PHP errors to appear in Nginx logs

fastcgi_intercept_errors on;

fastcgi_pass 127.0.0.1:9000;

#fastcgi_split_path_info ^(.+\.php)(/.+)$;

#fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

include fastcgi_params;

}

重点在 fastcgi_pass 127.0.0.1:9000;    这个端口将与php-fpm通讯,fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;这个将会把请求的php正确转给php-fpm,否则会提示No input file specified.

这里要解释一下的是path_info,如果你需要用到$_SERVER中这个变量,则需要按上述配置一下,否则取不到的。或者用注释掉的那两句也可以。

三、写bat文件来快速启动\关闭nginx+fpm

其实现在已经可以起来了。先启fpm再启nginx,把host改一下,就可以看到效果了。

但是为了方便,我们还要写bat,这样不必每次都手动来

这里需要先下一个RunHiddenConsole.exe,用来使命令在后台执行的小程序,并把它放到path环境变量的某个目录下,使其可以当作系统命令执行。

然后写一start.bat:

@echo off

echo Starting PHP FastCGI...

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

echo Starting nginx...

E:/nginx-1.4.4/nginx.exe

再来一个stop.bat:

@echo off

echo Stopping nginx...

taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...

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

exit

好了。win下的nginx+php-fpm就已经OK了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值