Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
$ Z9 f) P# k6 [0 E; ?0 `- V l2 Q
: \7 ]' q) T4 w* G/ r5 T# v- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
$ y2 G: a. U4 M4 R. b, b- client_body_buffer_size 512k;! P' C5 R+ a) m3 m
- proxy_connect_timeout 5;9 C/ F. e3 n2 C, K5 c4 e
- proxy_read_timeout 60;
# f# M {, w3 F4 V! g# T5 p5 S - proxy_send_timeout 5;
" G. f6 i! I% G2 @" R - proxy_buffer_size 16k;# a' m* H# e# ?3 d. K- p
- proxy_buffers 4 64k;9 T3 a: @5 e6 {5 u+ o5 ?
- proxy_busy_buffers_size 128k;
" |1 Y. [1 A6 L# J( s - proxy_temp_file_write_size 128k;
1 _. l1 g- a9 z7 E7 v5 h- j2 e" h - proxy_temp_path /home/cache/temp;
# d9 Q2 y; ~0 P - # 配置临时目录
# s* d5 K) I9 ^1 N5 A; d* y, H% y - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;- _2 v+ f3 h0 G- b% T+ J. w8 G
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:+ a l. h3 X8 B# B4 N
, H2 d( G0 m1 b$ J8 n% O- mkdir /home/cache/path -p
9 Y4 H0 F0 y* R- V' ` - mkdir /home/cache/temp
; p0 G9 c V( t6 s( y4 y# ~( P - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
1 U9 d4 `* {8 C6 n- G' h" p6 r, K' O2 P
& n6 P3 Q0 I" g* J- ^先创建一个“www.wdidc.net”虚拟主机
( V" e; |1 W c8 Z6 k3 _- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
. F5 c1 U X5 x2 Q0 w+ }9 u$ f3 A3 K6 L7 z
删除之前系统生成的代码,填入以下代码,注意修改网址。' i+ ~' u6 r) M1 c! m
- server. e* |- @! t, ~6 I2 P
- {0 C F p# O( i7 Q: u+ s4 H
- listen 80; m- c5 i8 U9 |% e: `
- server_name www.wdidc.net;8 z) F* w7 U9 A% V( r( ~
7 O. B v/ p0 l+ b- location / {" s3 ]/ c, u8 [4 v% l6 \: R/ a" P
- proxy_cache cache;
9 K( ~) g1 O! u4 o5 N0 g) y - proxy_cache_valid 200 304 7d;
0 O0 N& _7 t2 E B/ K0 u - #200 304状态缓存7天,按实际情况修改+ N- n6 D8 K* f" { O* F- C s/ I3 G7 _
- #其他状态缓存(如502 404)10秒: O" Z& U& t+ I$ l$ r9 w/ n8 G
- proxy_cache_valid any 10s;
t+ l( c+ s) x) q! i" M7 Y - proxy_cache_key "$scheme$host$request_uri";" `3 v, E1 j+ a$ n6 O( Q* {
- #缓存key规则,用于自动清除缓存。- Q+ [5 [8 S8 w' V7 R
- proxy_pass https://bbs.wdidc.net/;* i& L3 K; c" t) W2 F( o
- proxy_redirect off;. L- n) B% P7 A
- proxy_set_header X-Real-IP $remote_addr;
7 j" F3 V* I- K# b! y0 y - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;5 f$ v) A M W- \0 B0 t
- #向后端传递访客ip
6 z/ _! f4 x) Y% [7 G% w. \2 X) o - #limit_conn one 20;9 c2 e# Y4 A4 U4 m' P
- #limit_rate 200k;$ g% n/ S3 r! ?/ Q
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
7 d/ A( m" t, z$ F/ U g" ? - }
' s5 g" ]/ Z. q7 l7 x- m; f- M - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。# U A. `1 Z' H; N1 h. D/ R9 ^( V- _; l9 {
t* L) ?( t7 _) D9 |; C h- /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 R4 k8 x% p' o$ u+ E, T' u+ B2 l
Z9 }; k+ |0 \; o/ }
重启nginx
) S5 K$ D% g8 {+ e( R2 U8 s5 J. E) J* [ r: c s* I
* a( e" ?+ E% b0 I
2 i, K0 u& P! X/ {4 _! Z
) N& j+ i6 u7 t$ m$ j |