/ 中存储网

Windows系统安装Nginx + PHP环境

2013-12-29 11:09:01 来源:IT技术网

apache下载失败,正好对apache那种把php解释器做成module当动态库加载到自身进程的默认做法不太满意,网上大家又都说nginx好,就使用nginx+php+mysql配置一下。

环境:Windows 7 32bit

版本:nginx 1.2.3,php-5.4.7-Win32-VC9-x86,mysql 5.5.27

nginx和php都是下载后解压缩就可以用,mysql需要安装。

在php解压目录下,将php.ini-development拷贝到php.ini文件,同时激活其中的mysql模块:

;extension=php_exif.dll      ; Must be after mbstring as it depends on it

extension=php_mysql.dll

;extension=php_mysqli.dll

;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client

;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

;extension=php_openssl.dll

;extension=php_pdo_firebird.dll

extension=php_pdo_mysql.dll

;extension=php_pdo_oci.dll

然后启动php内置的cgi程序,在9000端口监听nginx发过来的请求:

php-5.4.7-Win32-VC9-x86> php-cgi.exe -b 127.0.0.1:9000 

在nginx目录下,修改conf/nginx.conf,激活fastcgi:

# 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;  

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  

#fastcgi_param  SCRIPT_FILENAME  D:/software/nginx-1.2.3/html$fastcgi_script_name;  

include        fastcgi_params;  

注意,默认配置文件中,fastcgi_param SCRIPT_FILENAME配置的是/scripts$fastcgi_script_name;,表示从这里找.php文件。这个默认配置是错的,使用这个配置时,访问php页面会返回“No input file specified”错误。需要改成下面这两种:或者用$document_root,表示当前根web路径,或者直接用根web路径的绝对路径。

配置完成后,启动nginx:

D:softwarenginx-1.2.3> start nginx  

在document_root创建一个简单的php文件,测试一下:

<?php

phpinfo();

?>

在本地验证一下:http://localhost:8080/index.php,一般都可以开启访问。

可以看到,nginx的这个配置要比apache简单很多。

可以通过如下命令查看nginx进程:

D:softwarenginx-1.2.3> tasklist /fi "imagename eq nginx.exe"

nginx如果不用start命令启动,则会在前台启动,此时使用ctrl+c也无法停止nginx,可以通过如下命令停止nginx:

D:softwarenginx-1.2.3> nginx -s stop

-s参数是signal的意思,可以发送四种signal:

stop 强制停止

quit 优雅停止

reload:重新加载配置

reopen:重新打开日志