windows下配置PHP+Nginx+MySQL完整流程(转)
对于在windows上的php+nginx的配置可能好多同学一次根本都配不正确,于我也是如此,为此我将我成功配置的过程细致的总结如下,希望能帮助搞PHP研究的同学
1、资源准备
MySQL:这个链接不提供了大家搞开发的电脑没个MySQL安装程序实在是太不像话了。
PHP:http://windows.php.net/download/
(我下载的是VC9 x86 Thread Safe (2012-May-08 18:26:37)这个版本的zip包)
Ngnix:http://kevinworthington.com/nginx-for-windows/
(我下载的是1.2.0(32-bit)的安装程序)
RunHiddenConsole:http://www.haoboweb.com/uploads/allimg/110613/RunHiddenConsole.zip
(这个程序非常有用,知道Linux环境的nohup用法不?对,就是干同样的功能,不懂的话百度去吧)
2、配置步骤(省略MySQL安装,不过有时候MySQL安装失败重装的话是有一定难度的,可以参考我的相关文章予以解决)
PHP配置
1)将下载的PHP包加压至F:\php
2)将F:\php\php.ini-development文件备份一份,然后将原文件改名为php.ini
3)修改php.ini
指定php存放目录:doc_root = "C:\nginx\html"
更改扩展存放目录为真是拓展存放目录:extension_dir = "ext"
更改时区:date.timezone = Asia/BeiJing
因为nginx需要的是cgi方式的php,所以如下几个地方是重点,否则nginx无法打开php文件:
enable_dl = On
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
为了支持MySQL,请进行下面这样的操作:
在F:\\F:\PHP\php.ini中进行下几步查找定位
查找定位至:;extension=php_gd2.dll,去掉前面分号
查找定位至:;extension=php_mbstring.dll,去掉前面分号
查找定位至:;extension=php_mysql.dll,去掉前面分号
查找定位至:;extension=php_mysqli.dll,去掉前面分号
查找定位至:;extension=php_pdo_mysql.dll,去掉前面分号
Nginx配置
1)将下载的Nginx进行安装默认安装到C:\nginx目录
2)将C:\nginx\nginx.conf文件打开,进行如下修改
查找定位worker_connections改为worker_connections 64;(因为是本地开发使用,所以线程不开太多)
查找定位charset改为charset gbk;
下面贴出比较重要的片段
location / {
root html;
index index.html index.htm index.php;
autoindex on;
}
这里主要添加了inde.php
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_pass 127.0.0.1:9000端口要符合php的fastcgi运行端口
3)编写启动php-cgi.exe和nginx.ex的批处理程序(这样做是简化总是输入命令执行的麻烦)
新建一个目录F:\php-nginx-manage-cmd,将下载好的RunHiddenConsole.exe拷贝到此目录
在此目录创建start-php-nginx.bat,内容如下
@echo off
echo Starting PHP FastCGI...
RunHiddenConsole F:/php/php-cgi.exe -b 127.0.0.1:9000 -c F:/php/php.ini
echo Starting nginx...
RunHiddenConsole c:/nginx/nginx.exe
Exit
对于上面的内容中的三个路径你可以指定成你自己的实际程序安装路径
在此目录创建stop-php-nginx.bat,内容如下
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
对于上面的批处理希望你不要做修改
4)运行起来PHP的HelloWorld程序
前提:执行F:\php-nginx-manage-cmd\start-php-nginx.bat
启动php-cgi和nginx后我们可以访问nginx的默认页面通过访问http://localhost/,如下图所示
C:\nginx\html\test1.php
<?php
echo "helloworld,"; //输出字符串helloworld
echo "this is my firstphp script."; //同上
echo phpinfo(); //phpinfo()为系统函数 输出php环境信息
?>
访问http://localhost/test1.php,结果如下图所示
C:\nginx\html\test2.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>Welcome to nginx!</title>
</head>
<body>
<?php header("Content-Type:text/html; charset=gbk");
$link = mysql_connect("localhost","root","root");
if($link){
echo "数据库连接成功!";
}else{
echo "数据库连接失败!";
}
?>
</body>
</html>
访问http://localhost/test2.php,结果页面如下
OK!大功告成!试试吧,你会很快的
windows下配置PHP+Nginx+MySQL完整流程(转)的更多相关文章
- windows 下配置 Nginx 常见问题(转)
windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...
- Windows下配置Nginx
一.今天是2017年1月18日.揣着一种也许叫做冲动的心情,决定以后每天都记录和回顾新涉及的技术,巩固已学到的知识,坚持. 二.回归到今天的技术主题,因为之前对于[反向代理]这种技术充满了好奇,借此机 ...
- windows 下配置 Nginx 常见问题
因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我的系统是win7旗舰版的,到官网下载最新版本 ...
- CentOS和Windows下配置MySQL远程访问的教程
CentOS和Windows下配置MySQL远程访问的教程 一.前言 由于实验在云服务器上跑的结果不是很理想.所以,现在切换到局域网服务器.因此,需要重新配置 Windows 服务器和 CentO ...
- 在CentOS/Windows下配置Nginx(以及踩坑)
在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...
- windows下配置wnmp
最近尝试windows下配置nginx+php+mysql,在这里总结一下. 1.下载windows版本的nginx,官网下载地址:http://nginx.org/en/download.htm, ...
- windows下配置lamp环境(5)---配置MySQL5.6
开始配置mysql 1.创建配置文件my.ini 1.进入C:\wamp\MySQL 2.把my-default.ini 另存一份:my.ini 3.开始编辑mysql的配置文件,打开my ...
- windows下配置lamp环境(3)---配置PHP5.4
下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...
- windows下配置lamp环境(0)---软件获取
工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...
随机推荐
- 经典Loading 动漫赏析
0. 传统的菊花Loading动画 假设作为程序猿的你还在用菊花作为Loading动画,是时候换个口味了.来看下5种不错的Loading动画. 几种颜色组成的动画,给用户一个美感. 1.android ...
- 【OC学习-12】什么是类的继承?为什么要继承?以及继承里面的注意事项
(1)怎样实现类的继承? //之前的继承根类,如类ASStudent继承自根类 @interface ASStudent:NSObject{ } @end //如今继承现有自己定义的类,如ASStud ...
- 用Iconv应对NodeJs对称加密技术在汉字编码与NoSQL的一些坑洞
·起因 汉字编码技术在实际应用中总是会存在这样或者那样的问题,尤其是在一些热门NoSQL方面多少会遇到挑战.比方说Cassandra字符集还不直接支持GB2312,要想存储写汉字那可真是麻烦.当然这还 ...
- 使用Jenkins来构建Docker容器
使用Jenkins来构建Docker容器(Ubuntu 14.04) 当开发更新了代码,提交到Gitlab上,然后由测试人员触发Jenkins,于是一个应用的新版本就被构建了.听起来貌似很简单,dua ...
- Asp.net vNext 学习3
Asp.net vNext 学习之路(三) asp.net vNext 对于构建asp.net 程序带来了一些重大的改变,让我们开发asp.net 程序的时候更加的方便和高效. 1,可以很容易的去管理 ...
- jQuery选取和操纵元素的特点
jQuery选取和操纵元素的特点 JavaScript选取元素 先来看看不用jQuery的时候我们是怎么处理元素选取的. JavaScript选取元素的时候,可以根据id获取元素,当id不存在的时候, ...
- 验证(C#和正则表达式)
原文:验证(C#和正则表达式) 我们经常会需要验证字符串的格式,比如密码长度范围.电子邮件格式.固定电话号码和手机号码格式等,这个时候我们经常会需要用到正则表达式.但是正则表达式用起来性能会低一点,所 ...
- C#中抽象类和接口的区别
原文:C#中抽象类和接口的区别 大家在编程时都容易把抽象类和接口搞混,下面为大家从概念上讲解抽象类和接口的区别: 一.抽象类: 含有abstract修饰符的class即为抽象类,抽象类是特殊的类,只是 ...
- 深入浅出SQL Server 2008 分区函数和分区表
原文:深入浅出SQL Server 2008 分区函数和分区表 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的 ...
- C#中float的取值范围和精度
原文:C#中float的取值范围和精度 float类型的表现形式: 默认情况下,赋值运算符右侧的实数被视为 double. 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示: floa ...