Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。 G% h. e% f& v0 q! L2 S" l
# U* _, @$ s7 [. f* `- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
! G# I! H! e8 S5 p+ y U/ B- client_body_buffer_size 512k;9 A; G" V3 x: s9 f5 k" P4 v4 |
- proxy_connect_timeout 5;& s8 i( E0 f; Q* n i7 P- L
- proxy_read_timeout 60;" y$ ~+ Z& M/ I {. n
- proxy_send_timeout 5;& S: o t3 H% W: Z' S3 _+ K8 m
- proxy_buffer_size 16k;" y# }- o9 V- I: A
- proxy_buffers 4 64k;5 _. |# }6 C; B! [$ {7 N# o
- proxy_busy_buffers_size 128k;
1 H9 M4 V$ a! t7 ]; k7 k# ~ - proxy_temp_file_write_size 128k;
' w2 _: ?" ?- f: K' _ - proxy_temp_path /home/cache/temp;; Z0 b6 H, Z7 c) R, {5 Q5 n
- # 配置临时目录
/ v9 }7 s- X. }( d. i - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
1 n9 Q6 E9 K" i# H* y - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
) d' y @$ o! s6 k7 _% u
# I7 Y- F5 d% a! b0 p' r" Y- mkdir /home/cache/path -p
3 c2 T0 G3 ^$ Q, r - mkdir /home/cache/temp: M! G2 `$ H) b
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
y% w9 C2 i% i3 O" W
1 o6 C* L( y. d* g8 j
v- G9 b' C0 t先创建一个“www.wdidc.net”虚拟主机; j2 o3 M' v: g* L( y$ [
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。$ Z M& E( e' l9 q' m
6 n# {7 z+ }0 ~4 s- k删除之前系统生成的代码,填入以下代码,注意修改网址。7 m) [4 |3 I! a( A4 s
- server* i. P6 x! I8 g7 ]
- {: T( l9 U8 f0 D6 S K$ l9 j* J
- listen 80;
3 ^+ z2 c# m7 w. x! z j, } - server_name www.wdidc.net;- V7 H0 ]' D/ Z# R# O _+ |
/ |0 N: G3 V2 p _- l3 t- location / {: m$ U; U$ A( ?6 s- e- ?
- proxy_cache cache;
: ~6 l/ _* I1 V& {5 n$ P3 [ - proxy_cache_valid 200 304 7d;8 u. s/ j; u* o4 I1 O
- #200 304状态缓存7天,按实际情况修改" o1 V4 l2 ^' R6 A$ a( f9 \5 v% D% B
- #其他状态缓存(如502 404)10秒: j4 u+ {& z4 C" m- ]" Y& m2 ]
- proxy_cache_valid any 10s;. ]& Y- X, A/ I! j+ L$ t
- proxy_cache_key "$scheme$host$request_uri";3 R8 T9 W; a3 P+ z. s
- #缓存key规则,用于自动清除缓存。
9 Q2 S" Z) e7 W+ F& x% v - proxy_pass https://bbs.wdidc.net/;
( Y: e5 U e/ f( h6 t, x: [ - proxy_redirect off;
1 g5 A: v5 l7 Z4 y+ K2 I: a s - proxy_set_header X-Real-IP $remote_addr;
" h8 e, O( ~/ x - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
& @8 `! i6 c" j* ^* t$ _0 ` - #向后端传递访客ip
# q" f# e: ]) K* Z: g - #limit_conn one 20;! W; n& n$ w8 U3 Z5 f7 a% |" V
- #limit_rate 200k;
; `3 e7 f- B8 J& Q9 s c3 | - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
6 x: N. c# T5 O$ k, K - }
" b* R* H: d2 l, O, k! e+ \ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
6 d7 s) y" o, X4 `% u( ]4 z
7 ^0 O" _- B/ V, k; D1 m0 s- /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”表示正常,若有错误请根据错误提示排除问题。) H/ Q1 v/ F# g
( F6 R! A- Q% M/ K/ S8 \& M重启nginx0 v8 [ u7 Q) b E4 J# u8 @- Y R
% D5 q/ D/ V( x3 Z* W; b! @+ y3 R7 B6 f5 b) m
: D' ?/ |7 S* S" t/ P1 T5 j* [
* J% m2 l9 Q! h% u
|