windows下搭建nginx+php开发环境
windows下搭建nginx+php开发环境
1.前言
windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求。因此准备再自己搭建一个环境。
2.准备
工具:
下载 nginx1.14.0(版本根据自己需要下载,本教程使用1.14.0版本)
下载 PHP7.2.11(版本根据自己需要下载,本教程使用7.2.11版本)
下载 RunHiddenConsole 链接:https://pan.baidu.com/s/1gHDrQBqDUFZH4uESNV9aXQ 密码:oq9a
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配置文件
主要修改以下地方:
server {
listen ; //端口号(默认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 /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
# 把这几个前面的注释#符号删掉
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;
}
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
@echo off set PHP_FCGI_MAX_REQUESTS = 1000 echo 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
关闭批处理文件 stop.bat
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
批处理文件双击就能运行。
如果有人发现,端口号对上了,但是浏览器访问php文件,只下载并没有解析,为什么会这样,明明百度了那么多教程,配置怎么看都没有问题?
其实很简单,重启电脑!是的,就是重启电脑。重启nginx没有任何作用,别问我怎么知道,我当初就搞了很久,没想到真的是要重启电脑。
windows下搭建nginx+php开发环境的更多相关文章
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
- Windows下搭建objective C开发环境
摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...
- 【RN - 基础】之Windows下搭建React Native开发环境
前言 React Native由Facebook公司于2015年F8大会上开源,其主张“Learn once, write everywhere”.React Native的核心设计理念是:既拥有Na ...
- Windows下搭建Android NDK开发环境及命令行编译
首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...
- WINDOWS 下搭建 OC 集成开发环境
Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1) 使用苹果的平台,集成开发环境使用X ...
- C++开发安卓、windows下搭建Android NDK开发环境
1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...
- Windows下搭建ffmpeg+VS2008开发环境详细教程【转】
本文转载自:http://www.voidcn.com/article/p-vxdntdgc-bkq.html 由于个人是从事音视频开发相关的工作,所以也把自己的一些过程写下来,方便大家以及自己查看, ...
- windows下搭建spark+python 开发环境
有时候我们会在windows 下开发spark程序,测试程序运行情况,再部署到真实服务器中运行. 那么本文介绍如何在windows 环境中搭建简单的基于hadoop 的spark 环境. 我的wind ...
- Windows下搭建go语言开发环境 以及 开发IDE (附下载链接)
1.下载 并且 安装 Go安装包 =========================================================== 在CSDN上传了我的版本,供大家下载: = ...
随机推荐
- No Mapping For GET "xxx.do"
今天写的一个form表单提交时总是报错找不到mapping,form如下: <form action="toUpdate.do" method="post" ...
- 撩课-Python-每天5道面试题-第1天
一. 尽可能详细的描述出一个应用软件, 比如QQ, 在计算机中运行时涉及的软硬件, 以及说明我们编程的侧重点? 电脑开机, 从硬盘中(外部存储设备)加载操作系统(系统软件)到内存(内部存储设备), 并 ...
- idea搭建Spring Boot+Mybatis及使用教程
环境准备 idea 15 jDK tomcat maven 搭建方式 官网下载源码包解压缩 使用idea中的Spring initializr创建 这两种方法创建的项目完全相同,只是操作方式不一样 这 ...
- K:找寻数组中第n大的数组元素的三个算法
相关介绍: 给定一个数组,找出该数组中第n大的元素的值.其中,1<=n<=length.例如,给定一个数组A={2,3,6,5,7,9,8,1,4},当n=1时,返回9.解决该问题的算法 ...
- For循环中由于ajax异步导致的问题解决(增加alert数据正常,去掉alert之后数据错误)
由于ajax异步请求的机制,for循环运行不会等内部ajax请求结束,而直接循环到最后.解决方法:将for循环里面的请求单独封装一个方法. 个人遇到的问题具体如下 下面这段代码,如果第5行studat ...
- RegExp使用技巧
正则表达式 //用法 1. /\d/g 2. new RegExp('/\d/','g') //修饰符 g,i,m //元字符 1.元字符是在正则表达式中有特殊含义的非字母字符 . * + ? $ ^ ...
- 解决react不能往setState中传key作为参数的办法(文章最后实现了传递key做参数的办法)
读者朋友可以直接看最后一个分割线下面的那部分!利用方括号语法来动态的访问对象的属性,实现当参数为属性名的传递; 有时候我们需要每次单独设置众多state中的一个,但是,都是进行相同的操作,这时候如果每 ...
- JS 和 a href className JS编写顺序与运行顺序 字符串或变量嵌入中括号 代替 点号 代表属性
JS 和 a href 在href里面注意分号结尾, 引号闭合 <a href="javascript:;">空链接</a> <a href=&quo ...
- 关于modelmap.addAttribute("",)转到jsp页面获取不到值的问题
问题一,可能是你设置的web.xml的头有问题 掉坑里好一会,发现我默认生成的web.xml中头部的配置是 <!DOCTYPE web-app PUBLIC "-//Sun Micro ...
- Android 图文混排 通过webview实现并实现点击图片
在一个开源项目看到是用的webview 实现的 1. 这是在asset中的一个模板html <html> <head> <title>News Detail< ...