Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
* P7 D! s0 b( V2 }* B/ l$ p9 X Q1 {; X4 M Y1 A; n
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
) g# J2 h3 A; p' S- client_body_buffer_size 512k;
2 J- q: z- h5 O+ O - proxy_connect_timeout 5;
2 @) t' S2 w( C1 e* W/ |0 Y - proxy_read_timeout 60;
) t6 S6 g+ _/ w; b! [9 O9 { - proxy_send_timeout 5; c8 F. k+ A( f8 E
- proxy_buffer_size 16k;. W4 _1 ~% ^: a" P# `
- proxy_buffers 4 64k;& R" F/ Y; _% O' G7 b+ g
- proxy_busy_buffers_size 128k;" o- c8 W3 K5 O; R- `; B- N
- proxy_temp_file_write_size 128k;
1 S, g' E# b* x6 l* _$ a2 O - proxy_temp_path /home/cache/temp;- L2 I n; [4 e% Z0 f
- # 配置临时目录 v: B0 K/ E& k
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;3 s: i0 c# H& [, _
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
, J; i1 B/ F* j p) k1 z$ {% W# N( n
- mkdir /home/cache/path -p) e! X+ ?% q; }( Y1 b- l3 w M( C2 k
- mkdir /home/cache/temp; M4 [' g9 w+ _! ?1 _& u
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
; B- y0 X) j, d* W1 ~2 D' u0 y- x. r8 ~ _- N" l7 z8 T
/ s) {( ?& }& D' h d先创建一个“www.wdidc.net”虚拟主机
- s# {4 e+ ~( _9 e. d" O- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
" x" p4 _4 V" Z$ Q8 ~( G$ E! k
4 ]& T b3 ?. O% h* p删除之前系统生成的代码,填入以下代码,注意修改网址。
8 t3 Z5 A3 f$ X" n/ {) i5 Q- server, D- q3 x0 w7 W
- {6 J7 Y1 q# E. I6 U5 E1 ]3 G6 Y6 t
- listen 80;! B8 J3 x, p' n+ B$ ?* T r
- server_name www.wdidc.net;
, |: K( ~: d, W" i, X9 N5 W
1 A. \ @6 W4 f3 r& l2 s' Y- location / {- Q& R" H8 `% q
- proxy_cache cache;! }$ d7 W; V0 a7 f& L2 X" ?
- proxy_cache_valid 200 304 7d;4 Y& q+ J6 m4 P
- #200 304状态缓存7天,按实际情况修改- M; l$ X2 Y) o& e7 H
- #其他状态缓存(如502 404)10秒
2 |* V! R* O* V% C( u0 t - proxy_cache_valid any 10s;1 g- |! z3 S" [ d
- proxy_cache_key "$scheme$host$request_uri";
/ x6 V+ F( P) l' ]. G% P - #缓存key规则,用于自动清除缓存。
( e* c6 w2 ?2 l$ k" o7 Q - proxy_pass https://bbs.wdidc.net/;
/ I# f; N- ^2 K, c' Y - proxy_redirect off;
" t, D! I4 k' B, N2 O7 J$ f J- _ - proxy_set_header X-Real-IP $remote_addr;/ Q: C; x" z7 P: L7 F- a
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;$ V( L( j$ `0 \; l2 M
- #向后端传递访客ip
+ M# G* p% K* O. Y - #limit_conn one 20;$ e0 G% K2 R( b! u; |! C
- #limit_rate 200k;
) O( B3 S8 I7 C. B9 y3 w) X/ b - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#/ a* W8 V+ [. ^1 n
- }# Q6 `/ y$ A7 P: G1 L
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。9 l0 }% h7 B$ q2 j1 `; w3 g0 f
r/ w3 z; F+ Y6 \* F ]
- /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”表示正常,若有错误请根据错误提示排除问题。
" a6 h+ T) A3 x: h2 I. F0 v% u' z; G; P
重启nginx* t6 w" p+ x; ]- e* \
) y6 Q/ o! X; ?5 W6 ]' h! z& d0 S5 N6 P; _) V+ Y) m
/ L2 W# Z, o0 n; x/ B( A# \: L5 U5 ^! O9 Y) r- Y" w& j
|