Windows下Nginx+PHP+MySQL环境搭建

Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定、低系统资源消耗而闻名。近几年Nginx在国内已经成炙热化状态,比如像腾讯、网易、51CTO、迅雷、当当网、51、人人网等诸多大型网站都已经使用Nginx来做Web服务器,所以学习Nginx还是非常有必要的。2011年6月1日,nginx 1.0.4发布。

1.1. 程序下载

PHP下载:进入PHP官网下载网址:http://windows.php.net/download/。选择最新版本“VC9 x86 Thread Safe (2011-Mar-22 13:27:32)” (如图1),弹出保存对话框,保存在硬盘目录下(如图2)。

图1

图2

Non Thread Safe:非安全线程。Thread Safe与之相反。

Zip:压缩包。

Installer:安装包。

Debug Pack:调试包。

 

MySQL下载:进入MySQL官网下载网址:http://dev.mysql.com/downloads/mirror.php?id=402887。选择“No thanks,just take me to the downloads!” (如图3)。选择最新镜像“mysql-installer-5.5.13.0.msi” (如图4),弹出保存对话框,保存在硬盘目录下(如图5)。

图3

图4

图5

 

Nginx下载:进入Nginx官网下载网址:http://nginx.org/en/download.html。选择最新版本 “nginx/Windows-1.0.4 pgp” (如图6),弹出保存对话框,保存在硬盘目录下(如图7)。

图6

图7

 

1.2. 程序安装

在E盘新建目录为DedeCMS,把程序全部安装在此文件夹中。

PHP配置:在DedeCMS目录下新建文件夹PHP5,压缩包解压至此目录,把php.ini-production重命名为php.ini,用编辑器打开此文件(最好不要用记事本打开),此文件为PHP配置文件。

查找定位至:; extension_dir = "./" ,将前面的分号去掉并修改为:extension_dir = "E:DedeCMSPHP5ext"

查找定位至:;extension=php_gd2.dll,将前面的分号去掉为:extension=php_gd2.dll

查找定位至:;extension=php_mbstring.dll,将前面的分号去掉为:extension=php_mbstring.dll

查找定位至:;extension=php_mysql.dll,将前面的分号去掉为:extension=php_mysql.dll

查找定位至:;extension=php_mysqli.dll,将前面的分号去掉为:extension=php_mysqli.dll

查找定位至:;extension=php_pdo_mysql.dll,将前面的分号去掉为:extension=php_pdo_mysql.dll

查找定位至:;cgi.force_redirect = 1,将前面的分号去掉为:cgi.force_redirect = 1

查找定位至:;cgi.fix_pathinfo=1,将前面的分号去掉为:cgi.fix_pathinfo=1

查找定位至:;cgi.rfc2616_headers = 0,将前面的分号去掉为:cgi.rfc2616_headers = 1

 

MySQL安装:双击安装包进入安装环境界面,选择“Install MySQL Products”(如图8)。

图8

选择“I accept the license terms”,再选择“Next”按钮继续安装(如图9)。

图9

选择“Skip the check for updates(not recommanded)”,再选择“Next”按钮继续安装(如图10)。

图10

选择“Custom”,更改安装路径为之前创建的目录。再选择“Next”继续安装(如图11)。

图11

选择“MySQL Server 5.5.13”与“MySQL Workbench 5.2.34”, “MySQL Workbench 5.2.34”是可视数据库设计工具。这个工具是设计MySql数据库的专用工具。也可根据需要选择是否安装。选择“Next”按钮继续安装(如图12)。

图12

选择“Next”按钮继续安装(如图13)。

图13

稍等片刻。程序安装完成,选择“Next”按钮进行产品配置(如图14)。

图14

选择“Server Machine”,再选择“Next”按钮继续(如图15)。

图15

默认3306端口,默认MySQL55 Windows服务进程名称。输入密码与重复密码。选择“Next”按钮继续(如图16)。

图16

程序会自动安装,安装完成选择“Next”出现安装完成界面(如图17)。

图17

 

Nginx配置:将压缩包nginx-1.0.4目录下的所有文件夹解压至DedeCMS目录,打开conf目录下nginx.conf配置文件。

第45行改为:index  index.html index.htm index.php;  加了PHP文件支持。

第65至71行改为:

location ~ .php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  script_FILENAME  e:/dedecms/html$fastcgi_script_name;

            include        fastcgi_params;

    }

e:/dedecms/html为网站的根目录。此目录也可以重新配置。找到代码:

location / {
            root   html;
            index  index.html index.htm index.php;
}

其中 root html; 就是网站根目录,如可以改为:root  wwwroot;

 

1.3. 服务的启动与关闭

建立两个文件分别启动、关闭服务进程。

在DedeCMS中建立文件start_nginx.bat

@echo off

echo Starting PHP FastCGI...

RunHiddenConsole e:/DedeCMS/PHP5/php-cgi.exe -b 127.0.0.1:9000 -c e:/DedeCMS/PHP5/php.ini

echo Starting nginx...

RunHiddenConsole e:/DedeCMS/nginx.exe

Exit

在DedeCMS中建立文件stop_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

下载软件:http://www.haoboweb.com/uploads/allimg/110613/RunHiddenConsole.zip。(只能上传图片,传不了软件)

解压至DedeCMS目录,双击start_nginx.bat启动服务进程(如图18)。由此可见,stop_nginx.bat 文件为关闭服务进程。

图18

 

1.4. 环境测试

在网站根目录中建立index.php文件,内容为:

<html>

<head>

<title>Welcome to nginx!</title>

</head>

<body>

<?php

$link = mysql_connect("localhost","root","123456");

if($link){

echo "数据库连接成功!";

}else{

echo "数据库连接失败!";

}

?>

</body>

</html>

输出“数据库连接成功!”,nginx的PHP环境配置成功(如图19)。

图19

 

版本2///

 

近来,nginx以其高性能吸引大批web开发者,各大门户网站大多都采用nginx作为web服务器,关于nginx的介绍,网上已有大量文章,笔者就不在此赘述,关于linuxnginx的搭建网上也有大量文章,但在windows上却为数不多,今天就为大家简单介绍windows7环境下nginx+php+mysql组合的搭建,希望对各位有所帮助。所有软件包均是最新稳定版。

php5.4.8

nginx1.2.5

mysql5.5.28

1.下载相关安装包

下载nginx :Stable version   nginx/Windows-1.2.5

http://nginx.org/en/download.html  也可点此处直接下载http://nginx.org/download/nginx-1.2.5.zip

下载php: VC9 x86 Non Thread Safe (2012-Oct-17 22:45:27)这里我们选择非线程安全版

http://windows.php.net/download/#php-5.4  也可点此处直接下载http://windows.php.net/downloads/releases/php-5.4.8-nts-Win32-VC9-x86.zip


下载RunHiddenConsole

http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip


下载MySQL  MySQL Installer 5.5.28

http://www.mysql.com/downloads/installer/  也可点此处直接下载http://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-community-5.5.28.3.msi


2.安装

安装nginx

D盘下建立名为server的目录 D:\server

解压nginx-1.2.5.zipD:\server\nginx-1.2.5

找到下面的nginx.exe,在命令行下运行nginx.exe (注意目录中不能出现中文字符)

启动nginx

[plain]view plaincopyprint?

D:\server\nginx-1.2.5>nginx  

打开任务管理器,切换到进程选项卡,出现如下进程,证明nginx已经启动。

在浏览中键入:http://127.0.0.1,看到下图所示证明nginx正常工作。


配置网站根目录

D:\server下建立www目录

www目录下新建一个index.html文件,文件内容如下:

[html]view plaincopyprint?

<html>  

<head>  

</head>  

<body>  

test is ok !  

</body>  

</html>  

修改D:\server\nginx-1.2.5\conf\nginx.conf 

location / {
            #root   html;
   root D:/server/www; #注意路径分隔符为斜杠
            index  index.html index.htm;

}

重新加载nginx 配置

[html]view plaincopyprint?

D:\server\nginx-1.2.5>nginx -s reload  

在浏览中键入:http://127.0.0.1

看到 test is ok !说明工作正常


停止nginx:

[plain]view plaincopyprint?

10 D:\server\nginx-1.2.5>nginx -s stop  

显示nginx 帮助

[plain]view plaincopyprint?

11 D:\server\nginx-1.2.5>nginx -h  

安装php

解压php-5.4.8-nts-Win32-VC9-x86.zip D:\server\php

解压RunHiddenConsole.zip ,复制RunHiddenConsole.exeD:\server\php

重命名php目录下的php.ini-development php.ini


启动php-cgi

[plain]view plaincopyprint?

12 D:\server\php>RunHiddenConsole.exe  php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini  

使用命令

[plain]view plaincopyprint?

13 D:\server\php>netstat -a  


出现

TCP    127.0.0.1:9000         HongJunWen-PC:0        LISTENING

说明php-cgi启动成功。


使nginx能将php请求交给php处理

修改nginx配置文件

location ~ \.php$ {
            #root           D:/server/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  D:/server/www$fastcgi_script_name;
            include        fastcgi_params;
}

重新加载配置文件


www目录下新建index.php,文件内容如下

[php]view plaincopyprint?

14 <?php  

15 echo phpinfo();  

在浏览器中打开http://127.0.0.1/index.php

出现php环境信息页面说明配置成功。


安装MySQL5.5

(注意:需要安装.net framework 4.0.30319,已经安装有的,跳过此步 下载地址:http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe  

打开mysql-installer-community-5.5.28.3

安装路径选择D:\server\MySQL

数据文件路径D:\server\MySQL\data

其他默认即可


启动mysql

[plain]view plaincopyprint?

16 D:\server\MySQL\MySQL Server 5.5\bin>mysqld  

netstat -a 命令查看,出现如下信息,说明mysql启动成功。

 TCP    0.0.0.0:3306           HongJunWen-PC:0        LISTENING


PHP支持Mysql

打开php.ini

找到以下两行: 

[plain]view plaincopyprint?

17 ;extension_dir = "ext"  

18 ………………  

19 ;extension=php_mysql.dll  

分别将这两行前面的分号去掉,重启php-cgi。使修改后的配置生效。


www目录下新建mysql_test.php,内容如下:

[php]view plaincopyprint?

20 <?php  

21 $con = mysql_connect("localhost","root","");  

22 if (!$con){  

23   die('Could not connect: ' . mysql_error());  

24 else {  

25   echo 'Database connected successfully';  

26 }  

27 mysql_close($con);  

打开http://127.0.0.1/mysql_test.php

显示如下:

Database connected successfully

说明php已经支持mysql


一键启动所有服务

 在windows下习惯了wamp的朋友,可能会很不习惯这种一个程序一个程序单个启动的方式,这对我们这种懒人来说,不是个好方法。下面我们写两个脚本

这两个脚本分别完成所有服务的启动与关闭。

首先将RunHiddenConsole.exe复制到D:\server\nginx-1.2.5


D:\server下新建一个名为start_all_services.bat的批处理文件,此文件内容如下:

[php]view plaincopyprint?

28 @echo off  

29 echo starting php-cgi...  

30 D:\server\php\RunHiddenConsole.exe  php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini  

31 echo starting nginx...  

32 cd nginx-1.2.5  

33 RunHiddenConsole.exe D:\server\nginx-1.2.5\nginx  

34 echo starting mysql...  

35 "D:\server\MySQL\MySQL Server 5.5\bin\mysqld"  

36 exit  

(注意:第8行需要加双引号,对于路径中包含空格的情况,需要用双引号引起来。否则会出错。)

D:\server下新建一个名为stop_all_services.bat的批处理文件,此文件内容如下:

[plain]view plaincopyprint?

37 @echo off  

38 echo stopping nginx...  

39 taskkill /F /IM nginx.exe > nul  

40 echo stopping php-cgi...  

41 taskkill /F /IM php-cgi.exe > nul  

42 echo stopping mysql...  

43 taskkill /F /IM mysqld.exe > nul  

需要启动只需双击start_all_services.bat

需要关闭只需双击stop_all_services.bat

怎么样,是不是很简单。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值