近來,nginx以其高性能吸引大批web開發者,各大門戶網站大多都採用nginx做爲web服務器,關於nginx的介紹,網上已有大量文章,筆者就不在此贅述,關於linux上nginx的搭建網上也有大量文章,但在windows上卻爲數很少,今天就爲你們簡單介紹windows7環境下nginx+php+mysql組合的搭建,但願對各位有所幫助。全部軟件包均是最新穩定版。php
php5.4.8html
nginx1.2.5mysql
mysql5.5.28linux
下載nginx :Stable version nginx/Windows-1.2.5nginx
http://nginx.org/en/download.html 也可點此處直接下載http://nginx.org/download/nginx-1.2.5.zipweb
下載php: VC9 x86 Non Thread Safe (2012-Oct-17 22:45:27)這裏咱們選擇非線程安全版sql
http://windows.php.net/download/#php-5.4 也可點此處直接下載http://windows.php.net/downloads/releases/php-5.4.8-nts-Win32-VC9-x86.zipwindows
下載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
在D盤下創建名爲server的目錄 D:\server
解壓nginx-1.2.5.zip至D:\server\nginx-1.2.5
找到下面的nginx.exe,在命令行下運行nginx.exe (注意目錄中不能出現中文字符)
啓動nginx
[plain] view plaincopy
D:\server\nginx-1.2.5>nginx
打開任務管理器,切換到進程選項卡,出現以下進程,證實nginx已經啓動。
在瀏覽中鍵入:http://127.0.0.1,看到下圖所示證實nginx正常工做。
配置網站根目錄
在D:\server下創建www目錄
在www目錄下新建一個index.html文件,文件內容以下:
[html] view plaincopy
<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 plaincopy
D:\server\nginx-1.2.5>nginx -s reload
在瀏覽中鍵入:http://127.0.0.1
看到 test is ok !說明工做正常
中止nginx:
[plain] view plaincopy
D:\server\nginx-1.2.5>nginx -s stop
顯示nginx 幫助
[plain] view plaincopy
D:\server\nginx-1.2.5>nginx -h
解壓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
[plain] view plaincopy
D:\server\php>RunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini
使用命令
[plain] view plaincopy
D:\server\php>netstat -a
出現
TCP 127.0.0.1:9000 HongJunWen-PC:0 LISTENING
說明php-cgi啓動成功。
修改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 plaincopy
<?php
echo phpinfo();
在瀏覽器中打開http://127.0.0.1/index.php
出現php環境信息頁面說明配置成功。
(注意:須要安裝.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 plaincopy
D:\server\MySQL\MySQL Server 5.5\bin>mysqld
用netstat -a 命令查看,出現以下信息,說明mysql啓動成功。
TCP 0.0.0.0:3306 HongJunWen-PC:0 LISTENING
打開php.ini
找到如下兩行:
[plain] view plaincopy
;extension_dir = "ext"
………………
;extension=php_mysql.dll
分別將這兩行前面的分號去掉,重啓php-cgi。使修改後的配置生效。
在www目錄下新建mysql_test.php,內容以下:
[php] view plaincopy
<?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的批處理文件,此文件內容以下:
[php] view plaincopy
@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的批處理文件,此文件內容以下:
[plain] view plaincopy
@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的的開發中吧。