windows下php与niginx配置

写在前面

因为需要配置服务器的时候很少,所以老记不住,这次参考简书文章(https://www.jianshu.com/p/40106c58f353),回顾了一下,顺便做个笔记(下次偷懒)。
nginx是反向代理,所以需要利用php的fastcgi作为真实的web服务器。即nginx下php是以FastCGI的方式运行,所以我们php要下载非线程安全版本。

1、下载nginx和php

不多说,直接放官方下载地址
php下载地址
ngin下载地址

2、nginx使用

下载了nginx直接解压点击里面的nginx.exe文件即可运行。此时地址栏输入http://127.0.0.1或http://localhost,看到“welcome to nginx”,就说明已经成功了。

3、php的使用

php的话,解压后找到php.ini-development文件,复制一份在当前目录并且重命名为php.ini。
将php.ini中的“;cgi.fix_pathinfo=1”的分号去掉,即开启此配置

4、nginx和php配合,测试运行

1.配置
打开nginx的conf文件夹下的nginx.config,找到该部分(fastcgi_pass 127.0.0.1:9000;表示cgi运行在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;
#}

将前面的“#”全部去除,并将以下两个语句修改为:

fastcgi_index 项目根目录路径(例如D:\development\php);
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

并将root html;改为root 项目根目录路径(例如D:\development\php);,然后保存

2.建立测试文件
在项目根目录路径(例如D:\development\php)新建test.php,并输入

<?php
phpinfo();
?>

3.在cmd模式下,进入到php解压文件的根目录下,运行以下命令,用来开启cgi
php-cgi.exe -b 127.0.0.1:9000 -c php.ini

4.地址栏输入http://127.0.0.1/test.php或者http://localhost/test.php
得到php的各项信息界面

5、快速启动

因为每次手动开启都很麻烦,而且cgi开启的话cmd会一直开着,所以用RunHiddenConsole来简化。
下载解压后,会有两个bat批处理文件和一个exe文件,bat处理文件可以自己改写也可以用以下的:

启动的批处理(start.bat)

REM REM是bat文件的注释类似于php的//
REM 设置不输出命令
@ECHO off
REM 设置Nginx和php-cgi的目录
SET php_home=E:/php/php-7.2/
SET nginx_home=E:/nginx/nginx-1.18.0/

REM 输出状态
ECHO Starting PHP FastCGI...
REM 启动php-cgi -b 端口 -c php.ini位置
REM %php_home%为获取上面set的php_home的值
RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini
REM 输出状态
ECHO Starting nginx...
REM 启动Nginx -p Nginx的根目录
RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home%

关闭的批处理(stop.bat)

@ECHO off
ECHO Stopping nginx...  
REM 结束进程 /F 强制终止 /IM 指定的进程 
TASKKILL /F /IM nginx.exe
ECHO Stopping PHP FastCGI...
TASKKILL /F /IM php-cgi.exe
REM 关闭窗口
EXIT

建好后双击启动的批处理文件即可快速启用php-cgi和nginx

猜你喜欢

转载自www.cnblogs.com/inkqx/p/13382146.html