windows下配置nginx+php环境
前言+准备工作
nginx 相较于 apache、IIS 在某些性能上有更多的优势,nginx 够为Web服务器节省资源,那在windows下如何来配置nginx+php环境?这里我就把我配置的过程来详细罗列一下。(windows 7环境)
准备安装包:
1、php 下载地址:http://windows.php.net/download/
2、nginx 下载地址:http://nginx.org/en/download.html
3、RunHiddenConsole(启动 nginx 需要):RunHiddenConsole
笔者系统是Win7环境,选择安装版为:nginx-1.9.9 (nginx-1.8.0 为稳定版本,网上比较多推荐用这个)和 php-5.6.17-nts-Win32-VC11-x64 (根据自己系统需要来选择版本)。
安装 nginx
1、解压 nginx-1.9.9 包到 D:\wanp\nginx-1.9.9 目录下(笔者所建目录),然后运行 nginx-1.9.9 目录下的 nginx.exe。 2、测试是否启动nginx。打开浏览器访问http://localhost 或 http://127.0.0.1,看看是否出现“Welcome to nginx!”,出现的证明已经启动成功了。没有启动的话,看看80端口有被占用没。
安装 php(这里讲 nginx 配置启动php,以cgi运行php)
1、解压 php 安装包到 D:\wanp\php5.5 目录下,然后修改 nginx 配置。nginx 配置文件是 D:\wanp\nginx-1.9.9\conf 文件夹里的 nginx.conf。
1、修改路劲和添加默认页
大概第43~45行之间的
location /{root html;index index.html index.htm;}
修改网站文件的路径,以及添加index.php的默认页:
location /{root D:/wanp/www;index index.html index.htm index.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 D:/wanp/www;。再把“/scripts”改为“$documentroot”,这里的“$documentroot”就是指前面“root”所指的站点路径,这是改完后的:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {root D:/wanp/www;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
3、D:\wanp\php5.5 下修改 php.ini-development 文件,将文件名修改为php.ini,打开php配置文件php.ini,保存即可。然后找到
extension_dir = "./ext"
更改为
extension_dir = "D:/wanp/php5.5/ext"
搜索找到:
;extension=php_mysql.dll;extension=php_mysqli.dll
更改为
extension=php_mysql.dllextension=php_mysqli.dll
去掉所对应的“;”去掉,就可以了。这里打开phpmysql.dll和phpmysqli.dll,让 php 支持 mysql。到这里,php 已经可以支持 mysql 了。
接下来我们来配置 php,让 php 能够与 nginx 结合。找到
;cgi.fix_pathinfo=1
更改为:
cgi.fix_pathinfo=1
这一步非常重要,这里是 php 的 CGI 的设置。
制作脚本启动
下载好的RunHiddenConsole.zip包解压到 nginx 目录内,RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。然后来创建脚本,命名为“start_nginx.bat”,我们在Notepad++里来编辑它
@echo offREM Windows 下无效REM set PHP_FCGI_CHILDREN=5REM 每个进程处理的最大请求数,或设置为 Windows 环境变量set PHP_FCGI_MAX_REQUESTS=1000echo Starting PHP FastCGI...RunHiddenConsole D:/wanp/php5.5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wanp/php5.5/php.iniecho Starting nginx...RunHiddenConsole D:/wanp/nginx-1.9.9/nginx.exe -p D:/wanp/nginx-1.9.9
再另外创建一个名为stop_nginx.bat的脚本用来关闭 nginx
@echo offecho Stopping nginx...taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nulexit
做好后,nginx-1.9.9目录是这样的
这样,我们的服务脚本也都创建完毕了。双击start_nginx.bat看看进程管理器是不是有两个nginx.exe的进程和一个php-cgi.exe的进程呢?
这样 nginx 服务就启动了,而且 php 也以 fastCGI 的方式运行了。
到站点目录下(D:\wanp\www),新建一个phpinfo.php的文件,在里面编辑
<?phpphpinfo();?>
保存后,打开浏览器输入“http://localhost/phpinfo.php”,出现如图:
到这里 nginx+php 的环境已经配置好了。
附加:在windows中如何开启PHP 的 curl模块
1、在php.ini中去掉 ;extension=php_curl.dll前的分号外;
2、将php文件夹下的libeay32.dll, ssleay32.dll, libssh2.dll 文件移入windows/system32, 或者windows/syswow64文件夹下;
版权声明:
作者:亦灵一梦
链接:https://blog.haokaikai.cn/2018/weihu/windows/720.html
来源:开心博客
文章版权归作者所有,未经允许请勿转载。