$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




[Tools] 关于Windows版本下nginx的安装与使用体会

内容:
& d% P6 b9 h6 i  今天下载了nginx 0.7.52,与以往不同的是,这次版本增加了原生Windows版本。这个版本在Windows下如何安装呢?下面我就说一说我的安装过程。% \) I& M2 p. Y5 p" J
  首先下载nginx 0.7.52的windows版本,下载地址:http://sysoev.ru/nginx/nginx-0.7.52.zip7 i4 Q; p* E& \7 V. S
  然后,解压nginx-0.7.52.zip到C盘的根目录,并将目录名改为nginx。执行下列操作" O/ o* m0 j  w" L, u
引用
% K) D$ ?1 I' W2 K$ }cd nginx % I3 Z2 W/ G8 k! a' O* A/ Y- }
start nginx
& F1 F+ J3 J: S1 I
) @% l4 f, }! d: i* m& C  这样,nginx就启动了。打开浏览器,输入http://127.0.0.1/ 就可以看到nginx的欢迎页面了。nginx的其他命令
1 q' M6 y% w9 m+ f引用9 ]0 z6 E4 Y% N! [4 p3 K, ?
nginx -s stop  //停止nginx 5 x! ]& T6 ?) W% z0 y
nginx -s reload //重新加载配置文件 0 e$ b8 b8 z: L. }* S, E, |
nginx -s quit //退出nginx
' |' R. t, n( d7 Y: q  M/ R" Z& W+ J. A" m( p. b1 i
  那么如何设置,使nginx以fast-cgi模式支持PHP呢?首先,假设你已经以fast-cgi方式安装了PHP。接下来就是配置nginx的conf文件了。下面是我配置好的,与原版的差别不大,大家可以对照一下,加深印象。
  E% A0 k- V" I/ u7 _引用
" [: F. h/ O6 P9 L) Q& O7 v2 ~/ Hworker_processes  1;
! F( z+ C- U$ e4 s' oevents {
. A( y0 o" I9 l3 Y& h    worker_connections  10240; ) w  K, n: P; z! A3 Y  W6 G+ C
} + L. F) O: _9 b. b2 i$ W. t# t5 j
1 T/ y) d4 i7 D  V1 x% V* h
http {
5 Z7 o8 p, h+ R- [+ `! Q    include       mime.types;
5 D. E& O# i6 [# z% |    default_type  application/octet-stream; & w2 P! F, C- J( G# M; r9 a

/ [; E  x; H  d- I    sendfile        on;
2 W/ Q3 r6 S6 T4 G
6 p& |+ I# N5 ^  _    keepalive_timeout  65;
3 C" W% B8 U# o, a8 d5 X& T+ j7 r0 h
! _! A) }8 a9 G: G! ]    server {   A1 u; s) l5 X$ a
        listen       80; , _3 o; Y" O* |' u
        server_name  127.0.0.1; . Q- G# i  j  F5 S8 y) W
  B& z! f6 n) t  B' b/ J1 j
        charset utf-8; ) q7 C2 c1 w2 G& P0 N- |: F$ p

5 r' R. c; E5 ]0 T, H( W9 j        location / { # M% n! `9 d; D2 {0 D% K
            root   E:\Works\php; ! A& J$ C* g/ K. r0 j, X5 Q
            index  index.html index.htm index.php; 4 ]$ W8 b9 |0 {. v5 u# M
        } 0 a) ~% E- P1 Y
  `5 v, j7 r4 d, t! L
        error_page   500 502 503 504  /50x.html; 1 w, |+ |1 [* q
        location = /50x.html { & ~$ X& }, x9 z! N9 b( @
            root   html;
; @' s; `( [* z1 N, c7 n7 B. H/ z2 G        } 3 d9 y# k7 q; Q4 N
1 Z. u7 i& {7 i+ C4 G# s! X
        location ~ .*\.php?$ { ! p. F- {; E% z
            root           E:\Works\php;
" b3 d% g, z4 `! c1 w            fastcgi_pass   127.0.0.1:9000; ; }3 N$ k4 j8 C
            fastcgi_index  index.php; ) w+ _! Q, _% K$ b9 ^+ p7 e
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
4 q7 r+ p9 i2 h3 o2 [, ?            include        fastcgi_params; 3 q3 ~6 [% `6 Y8 R
        }
) C6 T+ z) I4 s}
- p# j  S, B0 ?4 n* Y2 V
  然后,进入PHP的目录,输入如下命令
) u4 ]( c% ]9 I' r( ?, q; b引用7 d3 `- p, c) ~! o
php-cgi -b 127.0.0.1:9000 -q: r' S/ ]. n* {3 ~

/ A. w: _8 D" x6 k: g8 H% o  然后在目录 E:\Works\php 下新建名为 index.php 的文件,文件内容 4 q0 b5 L# O3 @. R( Q' F# H9 s
引用8 H' B6 H- B9 m% f$ \
<?php
+ o6 O! _; m1 k2 I& e3 Zphpinfo(); ; P' X  j+ H3 Y" B; }6 G8 T  ^* F
?>
) k- r1 ?. |  L* |3 R$ }3 J3 T9 I$ g1 ]+ W
  最后,打开浏览器,输入http://127.0.0.1/,即可显示出PHP信息页面。至此,整个配置过程就完成了。下面我就讲一讲我的使用感受。
3 ?' s/ q4 D/ i5 t/ E3 X2 `" I  首先要讲的是nginx的速度,在这次实验的过程中,感觉执行php的速度还是不错的,虽然和Linux下的速度差得较多,但与IIS(Fast-CGI模式)相比速度相当。毕竟都是Windows下的Fast-CGI,差别不会大到哪儿去。$ S! x2 S% B8 k2 a' D" U
  然后再说说稳定性。这个就是我要说的重点了,也是我很失望的地方。其的稳定性很差,处理请求数量也很低。在使用ab进行测试时,1000请求,并发10,这么小量的测试,它居然死掉了,不得不重启服务。而相同机器,Linux下的nginx轻松处理10000请求,并发1000的测试。看来,虽然是原生Windows版本,但完全没有展现出来nginx的品质,这也是平台决定的,我们也无能为力。还是那句话,在Windows下,不要想别的,还是老老实实使用IIS,这才是Windows下的最强。8 m/ V$ \& ?. ?" c) x
  最后得出结论,nginx的windows版本也只能是用于学习nginx的配置,搭建一个低资源消耗的PHP开发测试环境。完全不能用于生产环境,要在生产环境中使用nginx,那必须是Linux下,或者其他类Unix系统下。
$ Y3 L. L8 K2 c- c% g$ B  我现在就是把nginx的windows版本当做一个练兵场,学习和实验nginx的配置,为将来的平台转换打好基础。
: j0 _( D9 j, v) n% E3 P内容:
. G9 Z: ^* `  @0 s  今天下载了nginx 0.7.52,与以往不同的是,这次版本增加了原生Windows版本。这个版本在Windows下如何安装呢?下面我就说一说我的安装过程。$ y4 c# Q4 i) V/ g0 x+ Z) ^
  首先下载nginx 0.7.52的windows版本,下载地址:http://sysoev.ru/nginx/nginx-0.7.52.zip& U( E4 B4 m3 O/ k
  然后,解压nginx-0.7.52.zip到C盘的根目录,并将目录名改为nginx。执行下列操作
+ O2 ^5 e, ?" ]6 \: i; l. B引用
+ n1 |- w# g. d  H6 z7 bcd nginx " S) d" x( ~* X- l# r3 r  S
start nginx1 b' m% L1 u5 c0 y' k7 i

2 d! c" e( V) `3 S$ q; O* W% g  这样,nginx就启动了。打开浏览器,输入http://127.0.0.1/ 就可以看到nginx的欢迎页面了。nginx的其他命令8 w( K0 ]% B5 n$ G) q
引用
/ a9 P) d1 ]) N/ M5 Z; e5 B2 Ynginx -s stop  //停止nginx ; }/ u' P! E- Q4 b; J" j5 p7 r
nginx -s reload //重新加载配置文件 # M4 W/ W5 |1 ?/ X
nginx -s quit //退出nginx
6 X, |  c, b( n) ]' i3 e$ |* j) m( t' e% }1 [$ T
  那么如何设置,使nginx以fast-cgi模式支持PHP呢?首先,假设你已经以fast-cgi方式安装了PHP。接下来就是配置nginx的conf文件了。下面是我配置好的,与原版的差别不大,大家可以对照一下,加深印象。; i) F6 Q9 S2 C. N
引用! D5 Z* Q5 f- R! L+ c( ?
worker_processes  1; 4 T) n( ^6 l7 R- m6 q1 l2 U
events {
' E" {- Y- B# [  l    worker_connections  10240;
7 B- @5 @7 F' |: a5 G  G7 l! Z}
2 M- e" B, s" y" \ % |  E7 v) T# x6 f0 t* F8 c
http { - h, [$ f7 j, m) b) Y9 @$ q
    include       mime.types;
  K1 R" T) Z2 q) G+ _' ]    default_type  application/octet-stream; : L9 H! Q3 l7 x" U
" `2 Q2 N/ ]' L8 N2 ~% w7 Y
    sendfile        on;
( d$ ?9 @+ q/ d0 ~: v8 K
$ t- U3 Q% y: t3 G1 R( Z, f" J
    keepalive_timeout  65; . _2 ?  v: {( b! S, G0 E

' c+ D; x" }# p" W3 Z8 H    server {
3 V' b% M% u. [) Z        listen       80; 4 D9 \, A) g$ E' K4 c" q8 Z1 D5 |* ?
        server_name  127.0.0.1; % m/ I7 r9 Q6 ]
# n3 p% B% C% T, T3 W0 ^: F
        charset utf-8;
5 R# d7 |% F  d$ v9 I
" W, L$ r' N. l0 M        location / {
1 A5 I# j5 Z4 F" Y+ t8 W& r; H            root   E:\Works\php;
8 T) U' ?2 h3 G. g            index  index.html index.htm index.php;
4 N! F9 X, L3 d, D* J: o" @        }
" m- W1 ]' a5 o+ C; o
, e* V  E5 i* p/ S# P' r! E/ v; _        error_page   500 502 503 504  /50x.html; ) T4 y  {7 h2 `# Z- `) f; F, ^
        location = /50x.html { ( ]) M" b1 f4 j$ o; ^+ Q
            root   html;
, a3 V4 H- y! V; R* @: ]        }
0 C0 c' ^* F9 o+ c/ ^1 k# N; h
4 Y# a/ b7 ~: ?% ~9 G! u: j        location ~ .*\.php?$ {
3 }1 L% D3 L4 @" W& N: ]            root           E:\Works\php;
+ W: `( m! M0 f, N6 @2 C1 H+ {            fastcgi_pass   127.0.0.1:9000;
9 ~% z. X+ n! M4 Z! Z. }8 o3 m1 ]            fastcgi_index  index.php; ; u+ F* `! J- R& ?3 d8 F
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
1 V" t9 W* R) C' g            include        fastcgi_params;   a+ b, K1 x) J' z, C
        }
$ q: u" `0 \! A& F& O2 M}

+ A4 t# U8 a. P( j5 l& D  X  然后,进入PHP的目录,输入如下命令
# H3 {* d; m3 _引用1 H' Q7 K" z9 E+ w) O# @1 ~  c
php-cgi -b 127.0.0.1:9000 -q
* M0 b! N* V2 w- c3 Q+ x
. o" J3 w6 }4 F& i  然后在目录 E:\Works\php 下新建名为 index.php 的文件,文件内容
# `  V* g' n4 Q5 Z; t引用/ `8 ~6 x3 s* `! a) v; G: E+ H
<?php
7 q5 B. O$ K$ }2 @8 t' h7 ~# rphpinfo();
8 Y5 S8 H% d. {( }9 M?>2 Y' d- _' h' j+ [/ k$ Y/ \

: A) M" N5 s. L& u( L3 T9 \  最后,打开浏览器,输入http://127.0.0.1/,即可显示出PHP信息页面。至此,整个配置过程就完成了。下面我就讲一讲我的使用感受。6 v& e- e5 Z. n4 i6 r# K9 e
  首先要讲的是nginx的速度,在这次实验的过程中,感觉执行php的速度还是不错的,虽然和Linux下的速度差得较多,但与IIS(Fast-CGI模式)相比速度相当。毕竟都是Windows下的Fast-CGI,差别不会大到哪儿去。
9 `- o6 U5 ?- c1 Z9 V$ }  然后再说说稳定性。这个就是我要说的重点了,也是我很失望的地方。其的稳定性很差,处理请求数量也很低。在使用ab进行测试时,1000请求,并发10,这么小量的测试,它居然死掉了,不得不重启服务。而相同机器,Linux下的nginx轻松处理10000请求,并发1000的测试。看来,虽然是原生Windows版本,但完全没有展现出来nginx的品质,这也是平台决定的,我们也无能为力。还是那句话,在Windows下,不要想别的,还是老老实实使用IIS,这才是Windows下的最强。
1 J; K) O( \1 h* l8 C  最后得出结论,nginx的windows版本也只能是用于学习nginx的配置,搭建一个低资源消耗的PHP开发测试环境。完全不能用于生产环境,要在生产环境中使用nginx,那必须是Linux下,或者其他类Unix系统下。
  b: X8 u5 j7 v5 u9 ~' @  我现在就是把nginx的windows版本当做一个练兵场,学习和实验nginx的配置,为将来的平台转换打好基础。! W; s) Z. G+ a

0 K( U4 ?( j8 o- ~$ g& B参考: http://iambin.blogbus.com/logs/62390351.html

返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全