Heim > Backend-Entwicklung > PHP-Tutorial > windows下nginx + php配置

windows下nginx + php配置

WBOY
Freigeben: 2016-06-13 13:05:13
Original
978 Leute haben es durchsucht

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
Nach dem Login kopieren

?

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

?

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
Nach dem Login kopieren
?

?

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

?

php-5.4.7-Win32-VC9-x86> php-cgi.exe -b 127.0.0.1:9000
Nach dem Login kopieren
?

在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;
        }
Nach dem Login kopieren

?

注意,默认配置文件中,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;
        }
Nach dem Login kopieren
?

?

配置完成后,启动nginx:

?

D:\software\nginx-1.2.3> start nginx 
Nach dem Login kopieren
?

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

?

<?php phpinfo();
?>
Nach dem Login kopieren

?

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

  • 浏览: 15986 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
  •  windows下nginx + php配置
最近访客 更多访客>>
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage