firemail
标题: windows下搭建nginx+php开发环境 [打印本页]
作者: Qter 时间: 2020-4-15 19:24
标题: windows下搭建nginx+php开发环境
https://www.cnblogs.com/wwjchina/p/9804576.htmlwindows下搭建nginx+php开发环境1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求。因此准备再自己搭建一个环境。
2.准备 工具:
3.安装 (1)解压安装php和nginx
解压安装在指定文件夹。
(2)配置php
进入php文件夹,找到php.ini-development配置文件并copy一份重命名为php.ini。
双击打开php.ini配置文件
搜索extension_dir找到配置项,把该配置项设置成php目录下ext的绝对路径(最好是绝对路径,也可以是相对路 径"./ext"),如图:
ps:左边的;号要删除,该分号作用是注释,即分号后面的内容不参与执行,仅仅是备注。
搜索cgi.fix_pathinfo找到配置项,取消注释并把该配置项设置成1。
cgi.fix_pathinfo是用来设置在cgi模式下PHP是否提供PATH_INFO信息。
因为nginx默认不会设置PATH_INFO的值,所以需要通过上面的方法来提供。
ps:暂时开启这两个就可以执行了,其他配置项根据自己需求开启,不一一说明
(3)配置nginx
打开nginx文件夹,conf里面的nginx.conf配置文件
主要修改以下地方:
[url=][/url]
server { listen 81; //端口号(默认80,因已存在一个集成环境造成冲突,改成81),根据自己需要修改 server_name test.com; //喜欢什么写什么(记得在host文件上加上该域名) #charset koi8-r; #access_log logs/host.access.log main; location / { root E:\self\www; //修改成自己网站根目录的绝对路径(自己喜欢) index index.html index.htm; } #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$ {
#网站根目录(跟上面那个一样)
root E:/self/www;
#php-cgi监听端口号(默认9000,根据实际情况自己修改)
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
#下面这里要改看清楚原本是/script$fastcgi_script_name,改成$document_root$fastcgi_script_name;
#$document_root其实就是上面的root,可以直接改成绝对路径E:/self/www$fastcgi_script_name这样子,你喜欢
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
[url=][/url]
ps:如果你直接复制上面的请把 我写的注释删掉,怕影响了代码。以下是我的配置图:
(4)开启nginx和php-cgi
开启nginx:打开cmd命令提示符输入命令,start nginx。(自己配置全局变量)
或者进入到nginx目录下,输入命令 nginx.exe,开启nginx
nginx.exe -s reload 重启
nginx.exe -s quit 关闭
开启php-cgi.exe
E:\self\soft\php-7.2.11/php-cgi.exe -b 127.0.0.1:9001 -c E:\self\soft\php-7.2.11/php.ini
就是php目录下的 php-cgi.exe和php-ini文件,加上绝对路径,端口号要跟nginx的对上!
这样子就是正常滴,别人为它傻了,怎么没反应。
(5)测试
在你的网站根目录下创建一个phpinfo.php文件,里面编写
<?php phpinfo();
然后保存。
浏览器上输入你的域名和端口号(端口号80的话不需要填写,其他的一定要在域名后加上),加上PHP文件就能访问成功啦~
4.批处理文件 这个窗口是不能关的,一旦管理,php-cgi就会关闭,就不能解析php文件。
是不是很麻烦不能最小化,我们现在就来教你怎么解决。
为了节省时间可以用批处理来打开/关闭Nginx和php-cgi,
这里用到RunHiddenConsole(用来隐藏CMD命令窗),网上一搜大把,本文开头也给出了下载地址,下载后把RunHiddenConsole.exe和批处理文件放在同一级目录就行啦,是不用双击打开安装什么滴,别辣么傻,我傻就行了。
编写批处理文件(.bat就是批处理文件,有兴趣学的可以学些)
启动nginx和php-cgi批处理文件start.bat(文件名自己喜欢)
start.bat
[url=][/url]
@echo offset PHP_FCGI_MAX_REQUESTS = 1000echo Starting PHP FastCGI...rem 下面这里的分别替换成你的php-cgi.exe和php.ini的路径 ,后面的-b,-c等参数必须保留且注意前后空格RunHiddenConsole E:\self\soft\php-7.2.11/php-cgi.exe -b 127.0.0.1:9001 -c E:\self\soft\php-7.2.11/php.ini echo Starting nginx...rem 注意替换成你的nginx目录E:\self\soft\nginx-1.14.0/nginx.exe -p E:\self\soft\nginx-1.14.0/cd D:/webServer/nginx-1.5.2/pause[url=][/url]
关闭批处理文件 stop.bat
@echo offecho Stopping nginx... taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nulexit
批处理文件双击就能运行。
欢迎光临 firemail (http://firemail.wang:8088/) |
Powered by Discuz! X3 |