Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。' R& k% M. H& | `! l$ s
+ H: x9 ?$ }0 l
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则0 ?: L$ r9 ^) ^8 B2 \2 n% M' k
- client_body_buffer_size 512k;
" K: W6 j. j% a+ u G - proxy_connect_timeout 5;( { o6 _) u6 @+ O/ ^. \4 ]' V& q
- proxy_read_timeout 60;
( v0 E3 U/ }8 F ^ K: ~ - proxy_send_timeout 5;( g1 W1 _! G- I* p
- proxy_buffer_size 16k;
+ R/ o- a* N/ u - proxy_buffers 4 64k;
: Z! b; U' K4 U4 s/ p - proxy_busy_buffers_size 128k;, l0 v4 k I: m# s0 ^. L/ B9 j
- proxy_temp_file_write_size 128k;( l% W6 ?# c" L/ Z. B+ }
- proxy_temp_path /home/cache/temp;
9 v, B+ R% B- H" F4 M% O5 H7 W - # 配置临时目录
) A8 o+ Q0 D& o) ]! M - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
( Z* P% A% K* e: {1 i - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
9 d1 @/ y0 {) @. @5 \6 Q5 d/ H4 C. l, H. ]
- mkdir /home/cache/path -p, w# I5 P; h( I2 l
- mkdir /home/cache/temp
: D( x* J7 z% A3 Z - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限$ |( k* j8 }+ N& n- m5 L9 `# c$ z
& f% e: Z0 N- d! a" O9 E& S( C
: O! s F4 O6 u4 W先创建一个“www.wdidc.net”虚拟主机
8 U7 q. n1 [2 S2 B. n- j- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。% \# `! q4 f( C' L
" G, W+ A- G' p, {$ s8 ]删除之前系统生成的代码,填入以下代码,注意修改网址。
: ^9 r1 Q7 B) p& }( R- server
) _; i7 ^5 F# O. T* t - {
" L; ]! z+ |3 X. B) m t# P3 A - listen 80;
4 j0 |0 }- [4 c7 ] - server_name www.wdidc.net;' v' s3 E3 F9 e$ ], ]
- 2 |' u) w% G( F# o
- location / {
+ r; H5 v/ }" `0 h8 S0 x' `7 ^7 C - proxy_cache cache;
, @, R/ W7 z6 N* k* H" S - proxy_cache_valid 200 304 7d;
, j! B7 S, K+ n+ `, l' E/ o( G - #200 304状态缓存7天,按实际情况修改; `6 \* G9 h" i ?' ?: o2 R
- #其他状态缓存(如502 404)10秒! }# A3 O8 u6 y" U1 A1 r7 g3 w8 l
- proxy_cache_valid any 10s;
) G% U2 g+ V: b% S' f( F - proxy_cache_key "$scheme$host$request_uri";2 n% ^+ W' {4 S
- #缓存key规则,用于自动清除缓存。. l# C; h: y9 J3 A1 y H. i$ r
- proxy_pass https://bbs.wdidc.net/;
8 ]" o" O# J: W. `/ f - proxy_redirect off;: I( x6 {+ T E6 z" B" U' K
- proxy_set_header X-Real-IP $remote_addr;
! d, a! k5 L4 x+ D5 i Y8 N" z - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;8 C t0 j( \5 ]( g
- #向后端传递访客ip
; ~- G' _* T- c" }5 w% v - #limit_conn one 20;, ^9 ~5 z+ A9 s2 B2 r
- #limit_rate 200k;
) ?1 g/ B) S- O4 V- P - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#: A6 p5 T- `) z7 }5 r; R) e8 S% O
- }
* K! r- @' M( I* x* U - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。) ?: s8 ?; F! a Z" E0 N% I4 |- b
9 p2 a# |' n# e. f! J
- /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”表示正常,若有错误请根据错误提示排除问题。
6 l9 x) E {* K8 o( C0 \! e! H6 Y1 L' ]
重启nginx
3 ?% [/ n6 g& h3 H( K: t
2 D8 e+ P+ A9 I
/ d/ {( r4 v4 U3 E! s8 `& [* T' }9 T! z" n+ h) S3 c
/ q! g6 x/ f( M$ K( N7 h+ g! p
|