Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
l- j3 r% L% Z, ]/ H l1 K" \. Y( o" t3 G+ b; [! w
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则 f% t) Y- e; o7 M5 @0 a0 F" c
- client_body_buffer_size 512k;4 B+ s6 \( T3 D& }4 J
- proxy_connect_timeout 5;: ~) r# [8 U5 [* t( ^# {+ l
- proxy_read_timeout 60;, Q0 o* b! w9 M1 e* Z
- proxy_send_timeout 5;
8 b& t$ o8 k: ~# i: D2 s - proxy_buffer_size 16k;
5 r/ k& r3 Y- v% U) j+ v - proxy_buffers 4 64k;
6 j. B6 Z1 S4 M1 w - proxy_busy_buffers_size 128k;
7 q; z' Z: b, K+ _8 L& f5 x6 z - proxy_temp_file_write_size 128k;
" d! ^. v% o( t# j6 S: z8 R - proxy_temp_path /home/cache/temp;
0 S, f1 N" g; f( Y - # 配置临时目录. T" B1 y ] G& z
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
0 c/ E: Y! d- L5 l- ]! L; K; ~2 i - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
, }* p. |6 j, a6 C& e: k6 A) A: N6 X( l$ a0 ^# m' n5 W, y# {
- mkdir /home/cache/path -p
5 x" Z7 V4 c3 O' o% u( k4 d# t* { - mkdir /home/cache/temp
+ E: A/ I3 m! t' i - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
. C; ?3 k4 d* `4 t5 ^/ J/ l' l; F8 H* C) S8 m& j
* y9 ~9 U2 i5 A0 ~3 i先创建一个“www.wdidc.net”虚拟主机& q6 v3 }7 g4 V4 t5 R7 W% S; O/ d
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
4 z' D M% l1 D; S8 x
+ x% y* t+ s" a删除之前系统生成的代码,填入以下代码,注意修改网址。! U3 `) ~3 E+ h v5 S8 W
- server4 [& w; c$ V3 i, d' G
- {: Z4 H; E& V$ p' f' u) B
- listen 80;
5 }: @; Y! D5 s% b+ V) z - server_name www.wdidc.net;- ?7 z1 w( T9 o' G. X
* L3 Y5 j' j! I* ^7 _3 R- location / { X( s1 i1 b4 M, a5 g; I
- proxy_cache cache;
' w! N0 i! Y( X, U8 T - proxy_cache_valid 200 304 7d;! C3 Q1 V7 j8 Z, L# H! G9 H. ~+ \
- #200 304状态缓存7天,按实际情况修改' }# a% U5 W+ ?: J4 E" A* T
- #其他状态缓存(如502 404)10秒6 e2 f2 W+ a$ d5 \7 l( p& @% U' l
- proxy_cache_valid any 10s;
. }: A4 q4 r/ O - proxy_cache_key "$scheme$host$request_uri";
" D/ q& w% [0 C8 q7 p9 p - #缓存key规则,用于自动清除缓存。
3 ]/ D3 I# A, }9 e. { - proxy_pass https://bbs.wdidc.net/;
, b3 l7 ?3 p! _8 J/ n - proxy_redirect off;
/ s# ]( ^& \* w - proxy_set_header X-Real-IP $remote_addr;
) \6 G6 Y# M( _+ T% E - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
) I5 u9 p. `8 o) E9 M$ j9 Z - #向后端传递访客ip
" { Y' ]. N/ h6 Z2 [5 Y6 a - #limit_conn one 20;! T0 j; @$ b& \/ e* ?$ l1 g
- #limit_rate 200k;6 l" N# F( M2 g6 g4 F, I6 r
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
2 O7 a8 t% a1 l9 F( ~( ]6 P0 P7 V - }
2 @% ~' m3 K6 {8 m% H7 \ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。6 @7 P0 E% _; M$ M
& E% d# ?8 _7 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”表示正常,若有错误请根据错误提示排除问题。9 \5 a1 }) |" W6 V
, h% B9 m8 P5 X重启nginx# q5 |& X. O# e3 |3 _/ F
& c) E1 U+ h5 w7 D
5 D3 t8 N5 a* f# }- S
! e m( W: n' _5 B7 Y g( W$ h C! M2 ?2 ^, Z/ r
|