Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。1 G0 K; m w. j5 T% l: ]- }! v
4 C. i- t! V- w0 s" x: l/ ^
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
1 f* J$ _9 N9 |3 f; C( q' _- client_body_buffer_size 512k;
, m A' |+ m0 q) S3 p9 J$ ] - proxy_connect_timeout 5;. G) [0 i' g, ~* C( Z$ j% F0 q
- proxy_read_timeout 60;9 U1 ]" m s; i0 D
- proxy_send_timeout 5;" d5 z* a: j `3 K, B' [3 Z$ j9 \
- proxy_buffer_size 16k;8 K7 T' y' |( h. R U7 |
- proxy_buffers 4 64k;* Q/ d) @' V* n5 A+ L3 e
- proxy_busy_buffers_size 128k;( I D/ d# W5 U7 A
- proxy_temp_file_write_size 128k;
6 _' c' u! k3 T6 w" [ - proxy_temp_path /home/cache/temp; B2 N' Q1 q5 M4 [2 R
- # 配置临时目录
; b0 p R7 E' L! z5 ]+ Y6 V0 S2 ? - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;" q; M5 g( w$ Y
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:/ S" U. @, H4 i1 h% ]
- W% F; j' n6 c0 l6 L- mkdir /home/cache/path -p& X5 T2 x& U) B6 y7 i2 K- f( V
- mkdir /home/cache/temp
5 B, k- A- U7 [( A' V: g - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限6 s* S+ y) J, i4 ~6 b2 k; g
3 h; `: d; N7 o! y
9 u, T8 {5 l* Z, g7 h% j5 i4 e& L先创建一个“www.wdidc.net”虚拟主机
K! I$ M. o- p& m1 c2 \- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。) i3 h$ k( O* x* k1 T @+ i: k8 X
* \! M1 P! x: z
删除之前系统生成的代码,填入以下代码,注意修改网址。
% U( q5 ^4 w( P+ Y- server
# S$ f1 h' Y3 i* N7 L3 g7 z: `3 Y! M" Q - {( U( Y7 u" x6 x0 }- R+ ~
- listen 80;
* r) u6 ]0 \5 Z+ u& p- E6 d4 T - server_name www.wdidc.net;
8 s/ ~, H/ {6 _, Q" U& ~6 }$ O) t, b
! [4 p7 ?; K) a+ C, p7 f- location / {
6 H# W( B% J* {% ~8 N# _. T9 b - proxy_cache cache;2 H2 C) J4 u8 ]( Z, w0 [8 k5 w
- proxy_cache_valid 200 304 7d;
8 A6 ]) P; ^3 k) g: `: x! p) w - #200 304状态缓存7天,按实际情况修改2 s# a b" u% y9 u# n+ N7 B
- #其他状态缓存(如502 404)10秒
2 ]9 _1 O Q' r# W5 c& v* o - proxy_cache_valid any 10s;
5 d3 V4 a. Q. |8 m/ j5 e - proxy_cache_key "$scheme$host$request_uri";; K2 n; B Q+ K( l) y( D
- #缓存key规则,用于自动清除缓存。
; Q/ b9 h$ b( C( i: _" e - proxy_pass https://bbs.wdidc.net/;4 Y/ F- V; ^$ v6 T3 a' h
- proxy_redirect off;( i1 g3 m+ t" a1 `
- proxy_set_header X-Real-IP $remote_addr;7 |: w( a3 s( G$ v0 a" U- F h
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ a" i3 l y7 M, |2 `) E2 |. J0 z - #向后端传递访客ip7 u8 K1 A9 z: x8 q; e+ b
- #limit_conn one 20;
# C# \" i: d% R& w9 U% \7 T; U - #limit_rate 200k;
9 b, Q& [+ h+ v) `# S - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#6 `7 J% n. _* p2 O5 H9 r, J+ I
- }4 X3 L9 k1 M. G* W F$ S3 Q5 D
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
: d* S' {0 j! t( N+ h; U
) ?1 B% j5 K) P7 C1 V. q- /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”表示正常,若有错误请根据错误提示排除问题。
; p/ ?& R* z3 Y7 y$ I
; N2 c% Y3 r5 r4 L& f! i重启nginx3 j8 D0 `( U. N) t
; Q0 Y1 X+ f/ s; m% l0 G5 I
$ n. ?% J9 e" n& O# [( M: c+ n# c" q% Z5 j
6 W3 x0 j& f0 w* M
|