Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
+ e1 Z+ o4 D: y6 r) s5 h# E" k9 R! v
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则' f1 [# K+ {* T3 I6 [: d
- client_body_buffer_size 512k;
4 E0 r. z5 Y6 Q' ? - proxy_connect_timeout 5;3 k' S, k8 W& r7 e
- proxy_read_timeout 60;
& V* G: p+ {& E" C - proxy_send_timeout 5;
( h) d" Z( N4 r& R1 h - proxy_buffer_size 16k;
3 {% ?/ K4 c# d' H - proxy_buffers 4 64k;0 @0 ` \7 y9 e9 D
- proxy_busy_buffers_size 128k;1 {' k% }, n Q/ h# C( g
- proxy_temp_file_write_size 128k;% @' j/ o, `4 M8 g" G/ ~
- proxy_temp_path /home/cache/temp;8 `# o' P2 d0 }* x) W- T: W
- # 配置临时目录
7 P: z5 L) p, i' ?5 n1 e - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
8 V0 o- Q* W. G5 O# R/ D9 c - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:" o# ~- R: n5 g% k! n+ }
! f4 S& \. [$ `9 ^- mkdir /home/cache/path -p
, ~8 d! d# Z3 i8 m - mkdir /home/cache/temp
8 V- e8 G$ P: w% M; n - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限4 s, Q b0 D/ t# o' }
7 m" ~# u- |$ X, X5 M" x
! \( Z: Q1 {5 r1 o/ s2 Z
先创建一个“www.wdidc.net”虚拟主机
! w K }/ t! G ?. q/ W; I+ @- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
! }0 L1 C5 {7 h, [. b& D1 z( V+ f; L4 w; x5 a8 K! f6 ~
删除之前系统生成的代码,填入以下代码,注意修改网址。
# w2 Z' }2 e. a( h- server
% J: s& x) Y2 ~# z - {
3 }1 b/ E6 H" d* @' F - listen 80;3 C% k9 w9 K7 P* h
- server_name www.wdidc.net;
% I; i6 B% y/ P1 U7 @
p7 c. F/ ?$ f6 B, X0 d- W- location / {
6 f: l; T& T: X9 V. r V3 I( g e - proxy_cache cache;
2 ]$ t. M8 d: J- Z6 R - proxy_cache_valid 200 304 7d;
% K. N* }3 j) A - #200 304状态缓存7天,按实际情况修改. ]- Y0 }8 T$ v, B
- #其他状态缓存(如502 404)10秒
8 X% q. t8 V& O# j+ _# _ - proxy_cache_valid any 10s;
1 Z& D2 ~" a! s, t - proxy_cache_key "$scheme$host$request_uri";- H0 V+ A2 Q+ i* o& `, n! ?
- #缓存key规则,用于自动清除缓存。4 p) U1 @) ?8 N7 [/ p
- proxy_pass https://bbs.wdidc.net/;! y& D3 [8 ^4 k! K, Y
- proxy_redirect off;) U- T) g6 s- I
- proxy_set_header X-Real-IP $remote_addr;" Y, o* d' P+ L! a0 }2 K: _
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
) |8 _6 n7 y7 p7 ~ - #向后端传递访客ip- [2 w: E) u' n0 `
- #limit_conn one 20;
& \6 U3 o6 H0 ?! ^. } - #limit_rate 200k;4 k% Y; Z" [8 ?% Q( k. D
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
2 a3 W3 y+ Y3 E2 }, u0 }7 M! | - }
7 u1 \( r3 ]6 S/ ]( |2 l' p) @ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。5 d1 N& I+ H% H7 L% p
7 g* z; D( b* o* i# w- /usr/local/nginx/sbin/nginx -t
复制代码 测试:若提示:“the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful”表示正常,若有错误请根据错误提示排除问题。
7 Q. A. V5 i) `0 q3 l7 x$ I* M; ?/ r* b8 A. O
重启nginx
: y ^7 c% R" d) I# L: e0 i$ ^; T, G: c. X& M7 M2 w9 y- o7 S
* z* i/ F I" x2 K# B, h: j0 z: k2 v5 |8 y) q- x5 s6 a! i
0 c5 w+ B: f; ` H
|