Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。; w3 D& p* F! R$ h
( @8 U1 T% I% |8 C0 c
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
8 Z& ^. e; W& ^4 `2 v9 u* C- client_body_buffer_size 512k;
6 I( _4 M% N; a1 Z2 [* D - proxy_connect_timeout 5;: B. x& |3 K, `7 ]. `3 z
- proxy_read_timeout 60;
1 p5 G0 U# y& m! W( z. H - proxy_send_timeout 5;6 K6 p5 ^( H5 ~4 ^9 Z. \
- proxy_buffer_size 16k;
/ K4 \" o# T) X - proxy_buffers 4 64k;* L: q0 D) X4 \4 L( @8 E/ b
- proxy_busy_buffers_size 128k;
" w! {4 x/ q+ D! K( R) y8 B - proxy_temp_file_write_size 128k;
3 ^: C) {5 A6 ]1 @* j. k$ f: ^0 y - proxy_temp_path /home/cache/temp;% C7 y k& I! A- w* y% E
- # 配置临时目录 ?* d0 R$ v, p/ W+ m: F' y) ]# L0 J6 ]9 r
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
( J: j) ], C1 i8 k - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
4 t' L- ~2 x7 C" K; T) p5 B) y
; i2 F/ E+ B. W. ?+ w2 Y% {- mkdir /home/cache/path -p% a# k9 R) I: `# C8 @( ~, K
- mkdir /home/cache/temp8 w( {' H1 e9 L+ {8 S, L# b
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
7 l; p5 C! H3 a
7 `% S2 g, V1 {( \
! |. W! N! w' I# B( u先创建一个“www.wdidc.net”虚拟主机
5 l _8 |- ^/ k/ Y; s# e- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
/ |) R" v( C# }' V9 K3 V1 J
# k" s" a& S+ [( A' J0 Z; o2 }删除之前系统生成的代码,填入以下代码,注意修改网址。
3 C% _* i8 J% n7 Y. x' \- server
$ X3 Y+ _2 D8 W7 e0 T/ G% t - {
; l I: T, |# J5 h6 y: u& g - listen 80;/ C9 A- g% ]0 e8 v: ]" f: _ [ n
- server_name www.wdidc.net;& Y4 B; {' W3 C1 R- a# i
0 N1 c4 R( U" d) W- location / {
8 _+ f6 M. k, m - proxy_cache cache;
6 d7 o3 u! x" r) A g9 X, m- u - proxy_cache_valid 200 304 7d;
9 s. T" d4 r4 F$ e - #200 304状态缓存7天,按实际情况修改
; R' K5 i W, U - #其他状态缓存(如502 404)10秒
* x4 W) T) d$ {& Z9 l1 N, e% D R% g - proxy_cache_valid any 10s;2 N( N7 C- _3 ^* Q9 _7 g
- proxy_cache_key "$scheme$host$request_uri";# u; t6 p' a2 H- a$ x2 b# Z
- #缓存key规则,用于自动清除缓存。
. N) D; w' g, Y3 L! B1 z+ L+ e% L: `3 D - proxy_pass https://bbs.wdidc.net/;
6 f! X5 j( n$ G - proxy_redirect off;
5 d! N0 t) e- L0 c - proxy_set_header X-Real-IP $remote_addr;
0 n, Y7 X z$ [+ F - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;* ~- g9 {" a9 x1 B
- #向后端传递访客ip
! N: o" j$ m5 n; k& `, G8 S( W2 ]( }1 W - #limit_conn one 20;- F, u1 h' k, g6 L4 C; ]8 E. Z1 X* e
- #limit_rate 200k;
9 T; {# i5 L0 n+ x, D6 u& J- w9 Z - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
& O' B4 c& i4 R" P( \4 ` - }
# q, `( d4 A& C8 h) x: @ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
* d9 T, Q3 `7 Y! \5 X3 e" y# j1 i, D' n+ [- e" Y
- /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 _2 Y; h" ?: G: r
0 m+ Y1 T G- q7 Y重启nginx+ M; D! H- ]$ L( F! e N8 ~
( y, m5 E6 a r
+ h j5 X" x$ W6 W2 G$ H
* W/ L V1 e2 K2 m& B$ e2 r1 h
7 \/ K. _, W1 J* t) I* h |