- 帖子
- 1008
- 主题
- 761
- 精华
- 0
- 积分
- 1794
- 贡献
- 941
- 激情
- 7771
- 阅读权限
- 100
- 最后登录
- 2020-4-28
|
内容:
& 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.zip。7 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 |
|