Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
9 i! y& F' {" M' K% r8 `( Q$ ]" y! u/ b- D" ~: k
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
) _5 Z# ]* V- ~4 ^! u6 K& K- client_body_buffer_size 512k;
5 F3 G: N: i# z( [ E! }) l6 w0 @! v - proxy_connect_timeout 5;
( D# r& J' J8 K/ M" X6 k: s - proxy_read_timeout 60;7 R7 Z1 t7 v: n* f4 a$ Z& d* z
- proxy_send_timeout 5;
6 s9 C- C( W- `/ ~6 i/ y - proxy_buffer_size 16k;( E/ a. O5 Z2 H
- proxy_buffers 4 64k;; I; h$ p/ Y; i& ]% l6 Q/ o1 q
- proxy_busy_buffers_size 128k;- t* v6 k* x5 v# ?& g
- proxy_temp_file_write_size 128k;
( _ @* S2 n [$ {5 \6 I: P' Y - proxy_temp_path /home/cache/temp;
: d2 V) |+ t* R3 q+ u - # 配置临时目录
9 @8 h& b4 t9 q& } - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
1 ]1 h7 g- E1 i* q* v - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:2 I, ]0 {+ M1 ]+ ~5 _
+ T+ W6 e, A+ O+ k3 M* v- mkdir /home/cache/path -p; n! P+ U' w+ q2 ]+ D8 v5 j
- mkdir /home/cache/temp
" C" |8 ?( T, n - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限% L- E n" `9 L7 L) }3 r; R
# }( G( c7 f) E
: L* b# d3 |+ j2 z先创建一个“www.wdidc.net”虚拟主机% e1 s7 a! X* U6 f
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。8 x1 M; a& v+ k5 k0 ?$ t; p- K p
2 F$ Z/ U2 x3 l2 V* G* a) m/ q
删除之前系统生成的代码,填入以下代码,注意修改网址。, O1 U( B: B. W* f; x
- server
; W P; y! d9 @' w9 G5 E - {, T; S* I3 V& D2 i/ K2 T+ H
- listen 80;
: G" k( g; X6 A4 f - server_name www.wdidc.net;- g3 e( h2 X* @- i6 l
- ' j% L/ C* U; c9 i5 H d
- location / {1 i w# H- ]2 r, y9 f* m* o
- proxy_cache cache;
) e. x) p8 G. B+ S( |5 V! x/ ? - proxy_cache_valid 200 304 7d;
2 j( p; z: g+ M. K+ \* C - #200 304状态缓存7天,按实际情况修改6 X# K. l. G: u, } b# F3 d8 V9 |
- #其他状态缓存(如502 404)10秒
2 W# D. J" l7 d! E - proxy_cache_valid any 10s;
) ]7 g2 k7 e9 @0 F; X+ I( Q; r$ z& [ - proxy_cache_key "$scheme$host$request_uri";$ W+ I8 D' q: |; e% K U5 ]
- #缓存key规则,用于自动清除缓存。
& Z# `3 A3 E$ z _8 f& C7 g - proxy_pass https://bbs.wdidc.net/;. P/ o* @& z! U- n
- proxy_redirect off;9 B2 i1 k$ t8 [* B
- proxy_set_header X-Real-IP $remote_addr;
$ c9 J1 V" ^) O( j5 ~) H% k: ~ - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
$ k, n9 L; e: a( X - #向后端传递访客ip
2 Z. ?$ |% V0 X - #limit_conn one 20;
: h1 z, F3 B+ y$ o4 s - #limit_rate 200k;
$ ]9 E" Z: Z, f. R1 O/ ? - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#. c( u6 F5 g5 G+ @5 W* Y3 p
- }, y9 U) C: W+ b: m
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
$ _* T& c0 O0 D. J& i! R7 l c# ^- a! T* Q( L* m
- /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”表示正常,若有错误请根据错误提示排除问题。
5 L/ }; q: W9 [
; A9 O" z6 u, s# B重启nginx% E0 ~; W# A7 t( I5 w+ @ c
: U* q w: I6 t; Z+ W
( [1 _) J7 Q6 n- `( R
# l4 V0 G# o+ x: \8 o' _
5 y" U: v! o! [6 Z. W- m( ] |