作为开发者,我们常见的服务器有wamp、lamp,下面就来给大家介绍下wnmp的配制方法,此文只介绍 PHP+NGINX的安装与配置,MYSQL不做说明!
首先是下载软件
NGINX-1.10.1
PHP5.6.24
安装nginx
解压nginx到C盘,打开C:\nginx目录,运行文件夹下的nginx.exe
测试是否启动nginx,打开浏览器访问 http://127.0.0.1,看是否出现 “Welcome to nginx!”,出现的就证明已经启动成功,没有的话就查看下80端口有没有被占用。
默认情况下网站的目录在:C:/nginx/html
安装php(这里主要讲nginx配置启动php,以cgi运行php)
nginx配置文件是conf文件夹里的nginx.conf;
修改网站文件的路径,以及添加index.php的默认页(大概43-46行)。
location / {
root D:/html;
index index.html index.htm index.php;
}
支持php的设置(大概65-71行)
location ~ \.php$ {
root D:/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
先将前面的“#”去掉,同样将root html;改为root D:/html;。再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径。
C:/php下修改php.ini-development文件,将文件名修改为php.ini。打开php.ini修改相关配置项:
搜索“extension_dir”,找到: e;xtension_dir = "ext" 先去前面的分号再改为 extension_dir = "C:\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数据库)
其他的配置请按照自己的需求更改。
试运行以及编辑运行配置文件
这里所指的试运行是因为网站是以php-cgi的形式运行,由于在windows下面它只以一个进程的形式存在,不是服务不能长时间执行,关闭命令窗口就会自动退出,所以下面会提到使用另外一种方法来维持进程持续运行。
首先,重启nginx,可以在cmd窗口使用命令重启或者直接使用任务管理器关闭之后再进入nginx文件夹点击nginx.exe运行;
打开cmd命令窗口,输入:
C:/php>php-cgi.exe -b 127.0.0.1:9000 -c C:/php\php.ini
此时你会发觉cgi进程已经启动,可以在任务管理查看,如果运行命令的时候有弹出提示框提示msvcr110.dll丢失,
则可以通过链接:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679
下载vcredist_64.exe或者vcredist_32.exe安装即可解决。
D:/html下新建一个phpinfo.php,
<?php phpinfo(); ?>
打开浏览器访问:http://127.0.0.1/phpinfo.php
出现phpinfo相关信息页面就说明php已经成功安装;
最后处理
下载一个RunHiddenConsole.exe,分别复制一份到c:/php及c:/nginx文件夹里面;
在C盘根目录下创建一个start.bat文件,用编辑器打开,将以下代码复制进去,然后保存:
@ECHO OFF
ECHO Starting PHP FastCGI...
C:/php/RunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -c C:/php/php.ini
echo Starting nginx...
C:/nginx/RunHiddenConsole.exe C:/nginx/nginx.exe -p C:/nginx
同样创建一个stop.bat,写入以下代码:
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
@ECHO OFF
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
echo ReStarting nginx...
ECHO Starting PHP FastCGI...
C:/php/RunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -c C:/php/php.ini
echo Starting nginx...
C:/nginx/RunHiddenConsole.exe C:/nginx/nginx.exe -p C:/nginx
exit