Windows下配置nginx+php(wnmp)

第一部分:准备工作。(系统:Windows 7)

1.首先是下载软件。

nginx-1.6.3

php-5.6.19-Win32-VC11-x64

2.解压NGINX和PHP到你自己安装位置。

NGINX目录:E:\wnmp\nginx-1.6.3

PHP目录:E:\wnmp\php

第二部分:安装nginx

1.打开nginx目录,运行该文件夹下的nginx.exe

2.测试是否启动nginx。打开浏览器访问http://localhost 或 http://127.0.0.1,看看是否出现“Welcome to nginx!”,出现的证明已经启动成功了。没有启动的话,看看80端口有占用没。

注意:该网站的默认目录在“E:\wnmp\nginx-1.6.3\htm”l下

第三部分:安装php(这里主要讲nginx配置启动php,以cgi运行php)

nginx配置文件是conf文件夹里的nginx.conf

1.修改大概第43~45行之间的

 location /{
            root   html;
            index  index.html index.htm;}

 修改网站文件的路径,以及添加index.php的默认页。

location / {
            root   E:/wamp/www/;
            index  index.html index.htm inde.php;
        }

2.支持php的设置

修改大概在第63-71行的

 # 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;
        #    include        fastcgi_params;
        #}

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

        location ~ \.php$ {
            root           E:/wamp/www/taiyouqian;
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

3.E:\wnmp\php下修改php.ini-development文件,将文件名修改为php.ini,打开php配置文件php.ini,保存即可。

搜索“extension_dir”,找到: e;xtension_dir = "ext" 先去前面的分号再改为 extension_dir = "E:\wnmp\php\ext"

搜索“date.timezone”,找到:;date.timezone = 先去前面的分号再改为 date.timezone = Asia/Shanghai

搜索“enable_dl”,找到:enable_dl = Off 改为 enable_dl = On

搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0

搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分号

搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1

搜索“php_mysql”,找到:”extension=php_mysql.dll和extension=php_mysqli.dll  去掉前面的“;”extension=php_mysql.dll和extension=php_mysqli.dll   (支持MYSQL数据库)

其他的配置请按照自己的需求更改。

第三部分试运行以及编辑运行配置文件

cmd模式下进入php的目录E:\wnmp\php,输入命令:

php-cgi.exe -b 127.0.0.1:9001 -c E:\wnmp\php\php.ini

重新运行nginx.exe。(这里为什么使用9001端口,因为在命令运行时报错:cannot bind listen socket...,所以果断将端口改掉,当然在nginx.conf中配置php时,也需要将端口改为9001)

 E:/wamp/www/目录下新建一个phpinfo.php

<?php phpinfo(); ?>

访问http://localhost/phpinfo.php

或者http://127.0.0.1/phpinfo.php,显示相关php的版本信息页面。

为了方便启动以及结束nginx服务器,使用脚本如下:

下载一个RunHiddenConsole.exe,放到nginx目录下。

新建一个nginx启动脚本文件:start_nginx.bat

@echo off
echo Starting PHP FastCGI...
E:\wnmp\nginx-1.6.3\RunHiddenConsole.exe E:\wnmp\php\php-cgi.exe -b 127.0.0.1:9001 -c E:\wnmp\php\php.ini
echo Starting nginx...
E:\wnmp\nginx-1.6.3\RunHiddenConsole.exe E:/wnmp/nginx-1.6.3/nginx.exe -p E:/wnmp/nginx-1.6.3
 新建一个nginx结束脚本文件:stop_nginx.bat
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

 拓展:1.要使nginx支持pathinfo模式

需要将:

location ~ \.php$ {
            root           E:/wamp/www/taiyouqian;
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
替换为:
location ~ ^.+\.php {
            root           E:/wamp/www/taiyouqian;
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;  
              fastcgi_param PATH_INFO $fastcgi_path_info;                
              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

猜你喜欢

转载自z724130632.iteye.com/blog/2280640