1.下载php-5.3.16-nts-Win32-VC9-x86.zip(nts-非线程安全,nginx需要php的cgi模式运行),解压缩至d:wnmpphp5
2.配置php.ini(可以将php.ini-development复制成php.ni,然后主要是4个位置配置):
extension_dir = "D:/wnmp/php5/ext"extension=php_mysql.dll
...
cgi.fix_pathinfo=1
doc_root ="D:/wnmp/wwwroot"
3.下载nginx-1.3.4.zip Windows版,解压至d:wnmpnginx
4.配置nginx.conf,主要是站点目录和启用php:
location / {root D:/wnmp/wwwroot; #站点根目录
index index.html index.htm;
}
# 去掉注释,指明目录
location ~ .php$ {
root D:/wnmp/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
配置就这么简单。
二、运行1.运行php:
@echooffecho Starting php...
php5php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini
2.运行nginx:
@echooff
echo Starting nginx
nginx.exe -p D:/wnmp/nginx
3.停止php和nginx:
@echooff
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
pause
exit
三、性能测试
apache是xampp包,可能有些优化,nginx纯粹按上面的手工配置,感觉php-cgi不稳定
1.html测试:
ab -n 200000 -c 20 -k http://localhost/test/index.htmapache,7945.38个请求每秒.
D:xamppapachebin>ab -n 200000 -c 20 -k http://localhost/test/index.htm
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Completed 200000 requests
Finished 200000 requests
Server Software: Apache/2.2.21
Server Hostname: localhost
Server Port: 80
Document Path: /test/index.htm
Document Length: 42354 bytes
Concurrency Level: 20
Time taken for tests: 25.172 seconds
Complete requests: 200000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 198031
Total transferred: 8544538023 bytes
HTML transferred: 8471021747 bytes
Requests per second: 7945.38 [#/sec] (mean)
Time per request: 2.517 [ms] (mean)
Time per request: 0.126 [ms] (mean, across all concurrent requests)
Transfer rate: 331492.01 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 16
Processing: 0 3 5.8 0 31
Waiting: 0 2 5.0 0 31
Total: 0 3 5.8 0 31
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 16
95% 16
98% 16
99% 16
100% 31 (longest request)
nginx,6986个请求每秒
D:xamppapachebin>ab -n 200000 -c 20 -k http://localhost:8080/index.htm
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Completed 200000 requests
Finished 200000 requests
Server Software: nginx/1.3.4
Server Hostname: localhost
Server Port: 8080
Document Path: /index.htm
Document Length: 42354 bytes
Concurrency Level: 20
Time taken for tests: 28.641 seconds
Complete requests: 200000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 198012
Total transferred: 8519030702 bytes
HTML transferred: 8471038962 bytes
Requests per second: 6983.09 [#/sec] (mean)
Time per request: 2.864 [ms] (mean)
Time per request: 0.143 [ms] (mean, across all concurrent requests)
Transfer rate: 290474.31 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 16
Processing: 0 3 6.1 0 47
Waiting: 0 2 4.8 0 31
Total: 0 3 6.1 0 47
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 16
95% 16
98% 16
99% 16
100% 47 (longest request)
2.php测试
ngnix下的php-cgi直接奔溃,apache大概600个请求每秒。
怎么感觉还是apache好啊!?配置上有问题?