/ 中存储网

Windows系统安装配置Nginx+PHP环境步骤及性能测试

2013-09-26 22:53:01 来源:itjs.cn
一、Windows+nginx+php环境配置:

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:

@echooff

echo 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.htm

apache,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好啊!?配置上有问题?