Top

本地磁盘小日记ヾ(≧▽≦*)ゝ

世界无限大.且行且珍惜w~
编码.计算机视觉.网络.语言.绘图在学/M2F/各种发烧友/死宅/见习天使w;

教程:在Win下搭建Nginx+PHP环境.

轻教程。

额.笔者在WinServer平台用过IIS.Apache和Rails,就是没有折腾过Nginx系列。

今天因为一些特殊因素需要用到Nginx.所以特别自己尝试搭建了一下。

首先我们需要下载三个东西:

Nginx:http://nginx.org/en/download.html

PHP:http://windows.php.net/download/

RunHiddenConsole:http://www.xdowns.com/soft/1/71/2012/Soft_89261.html

下载完成后在你准备的web目录下建立一个文件夹(例如笔者的就是C:/wnmp)。

然后在这个目录里建立三个文件夹分别为"wwwroot" “nginx"和"php"。

将下好的php拷到"php"文件夹.nginx拷到"nginx"文件夹。


安装部署PHP:

RunHiddenConsole.exe 是一个用来隐藏 DOS 窗口的小程序。解压RunHiddenConsole.zip ,复制RunHiddenConsole.exe到PHP文件夹。

重命名php目录下的php.ini-development为php.ini,用编辑器打开此文件(最好不要用记事本打开),此文件为PHP配置文件。

  查找定位至:; extension_dir = “./” ,将前面的分号去掉并修改为:extension_dir = “E:/DedeCMS/PHP5/ext”

  查找定位至:;extension=php_gd2.dll,将前面的分号去掉为:extension=php_gd2.dll

  查找定位至:;extension=php_mbstring.dll,将前面的分号去掉为:extension=php_mbstring.dll

  查找定位至:;extension=php_mysql.dll,将前面的分号去掉为:extension=php_mysql.dll

  查找定位至:;extension=php_mysqli.dll,将前面的分号去掉为:extension=php_mysqli.dll

  查找定位至:;extension=php_pdo_mysql.dll,将前面的分号去掉为:extension=php_pdo_mysql.dll

  查找定位至:;cgi.force_redirect = 1,将前面的分号去掉为:cgi.force_redirect = 1

  查找定位至:;cgi.fix_pathinfo=1,将前面的分号去掉为:cgi.fix_pathinfo=1

  查找定位至:;cgi.rfc2616_headers = 0,将前面的分号去掉为:cgi.rfc2616_headers = 1

然后在命令提示符下启动php-cgi

C:/wnmp/php>RunHiddenConsole C:/wnmp/php/php-cgi.exe -b 127.0.0.1:9000 -c C:/wnmp/php/php.ini

如果启动过程中出现缺少MSV100.dll之类的报错请下载安装VC运行库。

https://www.baidu.com/s?ie=UTF-8&wd=vc%E8%BF%90%E8%A1%8C%E5%BA%93

完成后使用命令:netstat -a

发现列表中含有TCP 127.0.0.1:9000 HongJunWen-PC:0 LISTENING

说明PHP部署截至目前就已经完成了。


部署Nginx:

打开Nginx的配置文件nginx.conf,部分修改如下:

大概是第43行

1
2
3
4
    location / {
        root   C:/wnmp/wwwroot;
        index  index.html index.htm index.php;
    }

和第44行

1
2
3
4
5
6
7
    location ~ \.php$ {
    #    root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  C:/wnmp/wwwroot$fastcgi_script_name;
        include        fastcgi_params;
    }

小技巧:制作Nginx+php服务开启停止的bat。

开启:

1
2
3
4
5
6
7
8
9
10
11
@echo off

  echo Starting PHP FastCGI...

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

  echo Starting nginx...

  RunHiddenConsole C:/wnmp/nginx/nginx.exe

  Exit

停止:

1
2
3
4
5
6
7
8
9
10
11
@echo off

  echo Stopping nginx...

  taskkill /F /IM nginx.exe > nul

  echo Stopping PHP FastCGI...

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

  exit

参考资料:http://shuaigelingfei.iteye.com/blog/2009930


@本地磁盘姬 整理

ohayou.moeres.org

微博@萌萌的本地磁盘w

2016年10月04日