众所周知,现在nginx的使用率已经越来越高,大多数php开发者都会选择linux+nginx+php+mysql这样的组合,那么在windows下能不能用nginx呢?如何搭建php环境呢?
1、首先我们先去官网下载nginx
下载地址:http://nginx.org/en/download.html
可以看到有两个版本,一个是稳定版1.10.2,一个是Beta版本1.11.8。我们这里随便选一个下载
2、下载php,因为nginx是使用fastcgi的方式操作php的,所以我们下载非线程安全版本的php即可
下载地址:http://windows.php.net/download#php-7.1
这里我下载64位的非线程安全版本。
3、将下载的nginx和php压缩包解压到D:\php\下
我这里的nginx是以前下载的,所以版本号是1.11.6
4、配置nginx
打开conf\nginx.conf配置文件,将server段改成如下
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; root D:/php/web; index index.html index.htm index.php; #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
5、配置php
将php目录下的php.ini-recommended文件改名为php.ini,然后打开这个文件,找到extension_dir = "./ext",修改为extension_dir = "D:/php/php-7.1.0-nts-Win32-VC14-x86/ext"
然后找到;cgi.fix_pathinfo=1,把前面的;分号去掉
保存文件
6、启动nginx和php
进入nginx目录,双击nginx.exe,窗口一闪而过,然后在任务管理器中可以看到有2个nginx的进程
启动php,因为nginx是通过fastcgi的方式调用php的,所以我们这里要启动的是php-cgi.exe
打开cmd命令提示符,然后进入到php目录,然后输入php-cgi.exe -b 127.0.0.1:9000 -c php.ini
7、测试搭建情况
在D:\php\web新建一个index.php文件,写入
然后在浏览器中访问http://localhost如果可以看到php信息的话就说明环境搭建成功
8、有些朋友可以发现了,我们现在开着php-cgi的话,会存在一个cmd窗口,很难看,那么有没有办法可以隐藏它呢?答案是肯定的,我们可以使用一款叫RunHiddenConsole.exe的程序来实现。
RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。简单来说就是黑窗体(CMD命令窗体)不会显示,但CMD命令窗体中运行的程序不会被关闭,特别是一些会挂住必须显示命令窗体的命令还真不错,如 Tomcat、PHP、Nginx等。
RunHiddenConsole下载:RunHiddenConsole.zip
下载后解压出来,放到nginx目录下。然后新建一个bat文件,命名为启动php环境.bat,内容如下
@echo off REM Windows 下无效 REM set PHP_FCGI_CHILDREN=5 REM 每个进程处理的最大请求数,或设置为 Windows 环境变量 set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI... RunHiddenConsole D:/php/php-7.1.0-nts-Win32-VC14-x86/php-cgi.exe -b 127.0.0.1:9000 -c D:/php/php-7.1.0-nts-Win32-VC14-x86/php.ini echo Starting nginx... RunHiddenConsole D:/php/nginx-1.11.6/nginx.exe -p D:/php/nginx-1.11.6/
然后再创建一个bat文件,命名为关闭php环境.bat,内容如下
@echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul exit
以后我们想启动php环境的时候,只要双击一下启动php环境.bat即可,想停止的时候就双击一下关闭php环境.bat。是不是很方便呢?
ok
mjj通道