一般来说在windows下配置开发环境,都喜欢用集成环境开发包。但如果要手动配置一个nginx + php 的开发环境该如何做呢?今天这篇博文就来简单的介绍一下 windows 系统下手动安装nginx + php 的开发环境的方法。
nginx 的安装
1、下载 nginx 安装包
nginx安装包下载网址:http://nginx.org/en/download.html
2、安装nginx
将下载的 nginx 安装包解压到合适的目录中,注意nginx所在的目录路径不能出现中文。
3、启动 nginx 服务
找到 nginx 目录下的 nginx.exe 双击,会闪现一下黑窗口,就表示启动成功了!
注:
(1)、由于 nginx 的默认端口是 80,如果发生启动失败的情况,修改一下 nginx 的端口即可,下面会有提到!
(2)、在cmd命令窗口中使用 start nginx 命令,也可以启动 nginx,不推荐这个方法,所以不再多介绍,下面有补充的说明
4、验证nginx是否启动成功
(1)、在系统的任务管理器中查看是否有 nginx 的服务进程
(2)、浏览器输入 http://localhost/ 是否打开如下的页面,如果你的端口改了,则要输入 http://localhost:81/ (这里的81为端口号)
php 的安装与配置
php的下载与安装,请参考《windows系统下php的安装与配置(apache)教程》这篇文章的“php安装包下载与安装”与 “php配置”部份,请忽略文章下半部份的‘apache 配置 php扩展’。
想要在nginx中使用php,除了需要参照上方给出的文章进行配置外,速需要对 php 配置文件 php.ini 做出如下的修改!
修改方法:
php.ini 搜索 “cgi.fix_pathinfo”,去掉 cgi.fix_pathinfo 前面的分号,并将其值改为 0,修改完成如下图所示!
作用: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 的情况
3、修改监听 php-cgi 的配置
(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 中指出的目录
(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 命令提示符口以输入命令的方式来启动!
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
出现以上的内容,则表示 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
[c-downbtn type=”lz” url=”https://qiyunboke.lanzoui.com/i0gfFrt1kfc” pwd=””]RunHiddenConsole.exe 下载[/c-downbtn]
暂无评论内容