一般来说在windows下配置开发环境,都喜欢用集成环境开发包。但如果要手动配置一个nginx + php 的开发环境该如何做呢?今天这篇博文就来简单的介绍一下 windows 系统下手动安装nginx + php 的开发环境的方法。

nginx 的安装

1、下载 nginx 安装包

nginx安装包下载网址:http://nginx.org/en/download.html

nginx 下载

2、安装nginx

将下载的 nginx 安装包解压到合适的目录中,注意nginx所在的目录路径不能出现中文。

nginx 安装

3、启动 nginx 服务

找到 nginx 目录下的 nginx.exe 双击,会闪现一下黑窗口,就表示启动成功了!

nginx 启动

注:

(1)、由于 nginx 的默认端口是 80,如果发生启动失败的情况,修改一下 nginx 的端口即可,下面会有提到!

(2)、在cmd命令窗口中使用 start nginx 命令,也可以启动 nginx,不推荐这个方法,所以不再多介绍,下面有补充的说明

4、验证nginx是否启动成功

(1)、在系统的任务管理器中查看是否有 nginx 的服务进程

nginx windows 进程

(2)、浏览器输入 http://localhost/ 是否打开如下的页面,如果你的端口改了,则要输入 http://localhost:81/ (这里的81为端口号)

nginx 欢迎界面

php 的安装与配置

php的下载与安装,请参考《windows系统下php的安装与配置(apache)教程》这篇文章的“php安装包下载与安装”与 “php配置”部份,请忽略文章下半部份的‘apache 配置 php扩展’。

想要在nginx中使用php,除了需要参照上方给出的文章进行配置外,速需要对 php 配置文件 php.ini 做出如下的修改!

修改方法:

php.ini 搜索 “cgi.fix_pathinfo”,去掉 cgi.fix_pathinfo 前面的分号,并将其值改为 0,修改完成如下图所示!

开启 php-cig

作用:cgi.fix_pathinfo是用来设置在cgi模式下PHP是否提供PATH_INFO信息,由于nginx默认不会设置PATH_INFO的值,所以需要通过上面的方法来提供。

配置 nginx

nginx 的配置文件在 conf 文件夹下的 nginx.conf 文件,打开它,并定位到其 server 部份。

简单的说一下里面的参数含义:

1、listen:定义虚拟主机的服务端口,

2、server_name:用来指定IP地址或域名,多个用空格分开。

3、index:用于设定访问的默认首页地址.。

4、root:指令用于指定虚拟主机的网页根目录,可以是相对或绝对路径,默认为 nginx 下的 html 目录

5、charset:用于设置网页的默认编码格式。

6、access_log:虚拟主机的访问日志存放路径,最后的main 用于指定访问日志的输出格式。

nginx 配置修改 

1、修改网站的根目录,如下图,我这里是测试环境所以没有改,默认为 nginx 目录下的 html 文件夹

2、添加 index.php 默认索引文件,否则会发生输入目录形式的地址,无法访问 index.php 的情况

nginx.conf 配置

3、修改监听 php-cgi 的配置

nginx.conf 配置

(1)、去掉 php 配置模块中的 # 号,并将

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

改为

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

并加一行

fastcgi_split_path_info  ^(.+\.php)(/.+)$;

注意:$document_root 表示上面的 root 中指出的目录

nginx.conf 配置

(2)、下面是我改好的代码

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_split_path_info  ^(.+\.php)(/.+)$;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

启动 nginx 与 php-cgi

我们这里是以在 cmd 命令提示符口以输入命令的方式来启动!

启动 nginx php-cgi

1、启动nginx

cmd 命令进入到 nginx 的安装路径,输入以下命令来启动 nginx

start nginx

nginx.exe

2、启动 php-cgi.exe

启动命令

c:\php7.2\php-cgi.exe -b 127.0.0.1:9000 -c c:\php7.2\php.ini

注意:

(1)、c:\php7.2 为我本机 php目录所在的位置,要改成自自己的!

(2)、这个命令窗口是不能关闭的,一旦关闭 php-cgi 也会被关闭!

测试 nginx + php 是否配置成功

(1)、在nginx配置的目录里放一个php文件,并命名为“text.php”,php代码如下

<?php
echo phpinfo();

(2)、浏览器访问 http://localhost/text.php

phpinfo提示图片

出现以上的内容,则表示 nginx + php 配置成功,如果出现 text.php 被下载的情况,请重启一下电脑,nginx 有点傻!

补充一:bat批处理快速启动nginx与php-cgi

利用 RunHiddenConsole.exe 配合 bat 脚本可快速启动 nginx 与 php-cgi 以及快速的关闭它们!

RunHiddenConsole.exe 用来隐藏cmd命令窗,可以本文未进行下载。下载到本地后,将RunHiddenConsole.exe和批处理文件放到一个目录,不用去点击执行它!

启动 nginx 和 php-cgi 批处理文件代码:

注意:代码里的 nginx 与 php 的目录要换成自己的。

@echo off 
echo Starting Nginx... 
cd C:\nginx-1.18.0
start nginx
echo Starting PHP FastCGI... 
cd C:\php7.2
RunHiddenConsole.exe C:\php7.2\php-cgi.exe -b 127.0.0.1:9000 -c C:\php7.2\php.ini

关闭 nginx 与 php-cgi 批处理文件代码:

@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

补充二:nginx 部份管理命令

1、启动命令

start nginx

nginx.exe

2、关闭命令

nginx -s quit

3、重启命令

nginx -s reload

4、查看版本号

nginx -v

5、检查配置文件

nginx -t

RunHiddenConsole.exe 下载平台 : Windows  |  分类 : 系统工具  |  大小 : 0.01 MB