windows PHP NGINX,windowsphpnginx


1.NGINX  command


start nginx    //启动服务
 nginx -s stop    // 停止nginx
nginx -s reload    // 重新加载配置文件
nginx -s quit    // 退出nginx
2.PHP

php提供了两种版本可以选择,即线程安全和非线程安全

  • TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源
  • NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查

PHP的两种执行方式:ISAPI和FastCGI。

  • CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。这样,当用 户请求数量非常多时,会大量占用系统的资源,如内存、CPU时间等,造成效能低下。
  • ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接 口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的 用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本
  • FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是 CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。nginx下php是以FastCGI的方式运行,所以我们下载Non Thread Safe版本.
3 PHP.INI   配置

3.1修改扩展dll文件目录:

//这里根据自己的实际情况而定
extension_dir = "E:\2015\wnmp\php\ext"

加入扩展:

3.2选择需要运行哪些扩展,只需将extension前面的注释去掉,例如:

extension=php_mysql.dll
extension=php_mysqli.dll

3.3CGI 设置

enable_dl = On
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
4、nginx 配置

修改如下代码,位置如下

修改网站的根目录,添加index.php的默认页支持,修改后的代码如下。

location / {
            root   E:/2015/wnmp/nginx/html;
            index  index.html index.htm index.php;
}

让nginx支持PHP的设置,代码位置如下


先将前面的“#”去掉,同样将root  html;改为root  E:/2015/wnmp/nginx/html;。再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,改完后的代码如下:

location ~ \.php$ {
            root           E:/2015/wnmp/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
}


相关内容

    暂无相关文章