admin 管理员组

文章数量: 887007

导言:

近来,nginx以其高性能吸引大批web开发者,各大门户网站大多都采用nginx作为web服务器,关于nginx的介绍,网上已有大量文章,笔者就不在此赘述,关于linux上nginx的搭建网上也有大量文章,但在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/en/download.html  也可点此处直接下载http://nginx/download/nginx-1.2.5.zip


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

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


下载RunHiddenConsole

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


下载MySQL  MySQL Installer 5.5.28

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


2.安装

安装nginx

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

解压nginx-1.2.5.zip至D:\server\nginx-1.2.5

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

启动nginx

D:\server\nginx-1.2.5>nginx

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

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


配置网站根目录

在D:\server下建立www目录

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

<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 配置

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

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

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


停止nginx:

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

显示nginx 帮助

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

安装php

解压php-5.4.8-nts-Win32-VC9-x86.zip 到D:\server\php 解压RunHiddenConsole.zip ,复制RunHiddenConsole.exe到D:\server\php 重命名php目录下的php.ini-development 为php.ini
启动php-cgi
D:\server\php>RunHiddenConsole.exe  php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini
使用命令
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
echo phpinfo();
在浏览器中打开http://127.0.0.1/index.php 出现php环境信息页面说明配置成功。

安装MySQL5.5

(注意:需要安装 framework 4.0.30319,已经安装有的,跳过此步)  下载地址: http://download.microsoft/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
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 找到以下两行:
;extension_dir = "ext"
………………
;extension=php_mysql.dll
分别将这两行前面的分号去掉,重启php-cgi。使修改后的配置生效。
在www目录下新建mysql_test.php,内容如下:
<?php
$con = mysql_connect("localhost","root","");
if (!$con){
  die('Could not connect: ' . mysql_error());
} else {
  echo 'Database connected successfully';
}
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的批处理文件,此文件内容如下:
@echo off
echo starting php-cgi...
D:\server\php\RunHiddenConsole.exe  php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini
echo starting nginx...
cd nginx-1.2.5
RunHiddenConsole.exe D:\server\nginx-1.2.5\nginx
echo starting mysql...
"D:\server\MySQL\MySQL Server 5.5\bin\mysqld"
exit
(注意:第8行需要加双引号,对于路径中包含空格的情况,需要用双引号引起来。否则会出错。)

在D:\server下新建一个名为stop_all_services.bat的批处理文件,此文件内容如下:
@echo off
echo stopping nginx...
taskkill /F /IM nginx.exe > nul
echo stopping php-cgi...
taskkill /F /IM php-cgi.exe > nul
echo stopping mysql...
taskkill /F /IM mysqld.exe > nul
需要启动只需双击start_all_services.bat 需要关闭只需双击stop_all_services.bat 怎么样,是不是很简单。
至此windows7下nginx+php+mysql的搭建已经完成,现在尽情投入到php的的开发中吧。










本文标签: 环境 nginx MySQL php