windows下nginx + php配置

WBOY
Release: 2016-06-13 13:05:13
Original
972 people have browsed it

windows上nginx + php配置

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
Copy after login

?

注意,必须将指定extension目录那一行的注释去掉,否则php不会自动使用ext作为默认值来加载这些扩展:

?

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
Copy after login
?

?

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

?

php-5.4.7-Win32-VC9-x86> php-cgi.exe -b 127.0.0.1:9000
Copy after login
?

在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;
        }
Copy after login

?

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

?

一般还要将index.php放到根路径的index中:

        location / {
            root   html;
            index  index.html index.htm index.php;
        }
Copy after login
?

?

配置完成后,启动nginx:

?

D:\software\nginx-1.2.3> start nginx 
Copy after login
?

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

?

<?php phpinfo();
?>
Copy after login

?

在本地验证一下:http://localhost:8080/index.php,一般都可以开启访问,并可以查看其中的myspartan1

  • 浏览: 15986 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
  •  windows下nginx + php配置
最近访客 更多访客>>
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template