Windows下安装nginx+php5+mysql5

参考1:http://www.xiaoxiaozi.com/2009/09/23/1485/
   参考2:http://www.mysqlpub.com/viewthread.php?tid=332


1.下载安装nginx 0.7.65 stable版(http://nginx.org/download/nginx-0.7.65.zip),解压到d:\tmp\nginx-0.7.65,修改其配置文件nginx.conf为:listen       8008;#根据实际轻快修改了web端口
server_name localhost;
location / {
    root   D:/tmp/www;#主页目录,注意要用/
    index index.html index.htm index.php;#添加默认主页文件.php
}
去掉php类型前面的注释:
location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME D:/tmp/www$fastcgi_script_name;#注意,$前设置为跟前面的root一样
    includefastcgi_params;
}

2.下载 PHP 5.3.1,免安装版(http://windows.php.net/downloads/releases/php-5.3.1-nts-Win32-VC6-x86.zip,如何选择见下面说明),解压到d:\tmp\php-5.3.1-nts-Win32-VC6-x86,复制php.ini-production为php.ini,修改设置文件php.ini;
指定doc_root--web文件的存放目录。我是注释掉:   ;doc_root =""
扩展存放目录 extension_dir——更改为真实的扩展存放地址: extension_dir = "D:\tmp\php-5.3.1-nts-Win32-VC6-x86\ext"
默认时区更改——在[Date]里面增加:date.timezone = Asia/ShangHai
去掉数据库组件mysql的注释:
extension=php_mbstring.dll
;extension=php_ming.dll
;extension=php_mssql.dll
extension=php_mysql.dll
enable_dl = On
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
下载RunHiddenConsole.exe(http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip),该工具可使其执行的cmd窗口会自动隐藏。执行下面命令行可使php脚本得到解释:
RunHiddenConsole.exe d:\tmp\php-5.3.1-nts-Win32-VC6-x86\php-cgi.exe -b 127.0.0.1:9000 -c d:\tmp\php-5.3.1-nts-Win32-VC6-x86\php.ini
--说明:
PHP现在推出5.3.1版本了,下载的时候有几个不同版本选择。
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9 就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
如果你是在windows下使用 Apache + PHP 的,请选择VC6版本;
如果你是在windows下使用 IIS + PHP 的,请选择VC9版本;
从PHP5.2.10版本开始(现在有PHP5.2.10和5.3两个版本),有None-Thread Safe与Thread Safe两种版本的可供选择,这两种版本有何不同,作为使用者来说又应该如何选择呢?
None- Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查;Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。那Non Thread Safe是什么?
PHP的两种执行方式:ISAPI和FastCGI。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP。而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。

3.下载 MySQL 5.1.43,免安装版(http://mysql.llarian.net/Downloads/MySQL-5.1/mysql-noinstall-5.1.43-win32.zip)。根据服务器配置高低,复制my-medium.ini为my.ini,修改设置文件php.ini;在此,我更改了默认端口为33066。
[mysqld]
port   = 33066

4.下载安装phpmyadmin 3.2.5,免安装版(http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.2.5/phpMyAdmin-3.2.5-all-languages.zip),解压到D:\tmp\www\pma,复制config.sample.inc.php为config.inc.php,添加一行(因为我修改了端口):$cfg['Servers'][$i]['port'] = '33066';

5.测试文件test.php
<?php phpinfo();?>

6.相关脚本:
--start_Nginx.bat--启动web服务,并运行php解释器
@echo off
cd /d D:\tmp\nginx-0.7.65\
start nginx.exe
D:\tmp\nginx-0.7.65\RunHiddenConsole.exe D:\tmp\php-5.3.1-nts-Win32-VC6-x86\php-cgi.exe -b 127.0.0.1:9000 -c D:\tmp\php-5.3.1-nts-Win32-VC6-x86\php.ini
exit
--stop_Nginx.bat--关闭web服务,并关闭php解释器
@echo off
::windows 2000,98
::tskill /A nginx > nul
::tskill /A php-cgi > nul
::windows xp above:
taskkill /F /IM nginx.exe > nul
taskkill /F /IM php-cgi.exe > nul
exit
--start_MySQL51.bat--生成mysql服务
@echo off
setlocal enableextensions
set my_svc=MySQL51
::set my_port=33066
set mysqldir=D:\tmp\mysql-noinstall-5.1.43-win32\mysql-5.1.43-win32
::startsvc
::%mysqldir%\bin\mysqld-nt --install %my_svc% --defaults-file="%mysqldir%\my.ini" --port=%my_port%#mysql 5.0.*
::%mysqldir%\bin\mysqld --install %my_svc% --defaults-file="%mysqldir%\my.ini" #服务安装完要注释掉
net start %my_svc%
pause
exit
--stop_MySQL51.bat--删除mysql服务
@echo off
setlocal enableextensions
set my_svc=MySQL51
::set my_port=33066
set mysqldir=D:\tmp\mysql-noinstall-5.1.43-win32\mysql-5.1.43-win32
::stopsvc
net stop %my_svc%
::%mysqldir%\bin\mysqld-nt --remove %my_svc% #mysql 5.0.*
::%mysqldir%\bin\mysqld --remove %my_svc%
::pause
exit

7.最终效果图:





上一篇: VC6在界面开发上加一条横线   下一篇: The world浏览器的浏览历史删除方法

提交疑问

回顶部