Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。" F, }1 B& F- X+ \1 \
& q- @( b" `; C( e
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则7 B# k _4 \# f, V/ v
- client_body_buffer_size 512k;
% d. O7 W9 k. U; |( } - proxy_connect_timeout 5;
1 U ~2 E3 r) n: k - proxy_read_timeout 60; B, I7 p, K- ~
- proxy_send_timeout 5;
9 t5 p( j& j w - proxy_buffer_size 16k;
- L4 @0 z' O) c7 d6 P9 x N9 \ - proxy_buffers 4 64k;/ N; D4 @6 e5 V r" T! N
- proxy_busy_buffers_size 128k;
3 y' X- I' _7 W4 m/ z0 X - proxy_temp_file_write_size 128k;
~/ e6 O# K+ w7 g- A# i - proxy_temp_path /home/cache/temp;: q5 b" h$ I% y+ p' ~ W
- # 配置临时目录( I8 T" ?5 k) J3 X3 U
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;& [6 f* F, _* z* ]
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
r1 @/ T/ z' b: F6 U8 ~" l, c+ t% @# g1 i) ]- h0 J
- mkdir /home/cache/path -p
9 N# j: I1 _5 W8 q - mkdir /home/cache/temp
8 A2 U& Q+ _4 [0 G6 @' O - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限' }( G0 Q0 a( c# l! m
1 q/ n b+ H; a! r, h9 @% U; I1 X/ t, n; i, M! ^5 r
先创建一个“www.wdidc.net”虚拟主机
5 |( ~$ u) N. S% [) C7 h3 c1 Q- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
. n: P* V+ r* q+ b( V, I5 Z
" z2 r$ [5 K4 t4 `* C删除之前系统生成的代码,填入以下代码,注意修改网址。
! K* R. n+ R3 D- server
/ n, s/ R# G- C( x/ b/ c - {
4 s7 p7 ~- P D) Y+ x' c# [ - listen 80;
' r. g, h9 |( c7 ~9 e7 C - server_name www.wdidc.net;
+ T4 `, x7 H4 u9 i
( x y9 E8 S. H) q W- location / {" {' s2 r3 z; s% J6 {8 v. E! C8 L
- proxy_cache cache;
- G) U3 S+ L+ W0 s) y7 A: R# y) L - proxy_cache_valid 200 304 7d;
/ h+ U; x3 j* G/ n: A - #200 304状态缓存7天,按实际情况修改5 |# Y8 j+ o P* O) c9 `/ b
- #其他状态缓存(如502 404)10秒# v4 \$ O5 e5 X7 G) d
- proxy_cache_valid any 10s;# |7 n/ ]5 `% V$ q# Q
- proxy_cache_key "$scheme$host$request_uri";4 f' K* ?: d, r" j& o6 }8 Z- ^
- #缓存key规则,用于自动清除缓存。
1 a' ~3 k5 X$ `/ ~ - proxy_pass https://bbs.wdidc.net/;
, p& D7 b) `/ }2 { G( [8 s - proxy_redirect off;
; J4 ^9 I2 t3 l3 }1 \( a* y, h - proxy_set_header X-Real-IP $remote_addr;8 q7 Y( }4 d! D, A0 U
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
' x9 n4 e7 f- T6 A' V7 \ - #向后端传递访客ip
/ m2 h/ ^3 d' @3 h0 a. e8 X9 } - #limit_conn one 20;
6 Y F: o& r# p - #limit_rate 200k;- v% m( t& r" Q' [: m
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#9 Y- }7 [; W' t; A: u( t! g
- }
! Q# o1 a: U1 z* ? - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
6 D# N. S+ V4 o4 p; s- e7 z
5 \& g+ u/ j$ 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”表示正常,若有错误请根据错误提示排除问题。
9 S8 @" f5 m! L
% _( C1 K4 @$ x3 B! x, M重启nginx
' J% @3 x- m- e* I+ N2 r! ~+ `! m/ r) F, h' b% p
- |5 w0 o& G( r0 h! ^. _) S: f& A6 O
* \( h, K7 ?! b* M9 Z
|