Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
3 p3 U, \) y/ n9 b% J- ~# P0 A
; W9 p. ?* m# R0 N. w! i" A( S- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则, y1 L9 W2 N* M. _* c/ ~" |
- client_body_buffer_size 512k;5 {8 S( X+ D& p. C1 ^: F% V2 _
- proxy_connect_timeout 5;2 J: t) [7 `8 |1 i
- proxy_read_timeout 60;
& A5 D) L& R) S* F: A - proxy_send_timeout 5;
; d7 K1 G+ W# [8 W6 Q - proxy_buffer_size 16k;, q& i8 [1 e- L8 |3 d
- proxy_buffers 4 64k;
/ F4 e/ f% d* ]# T - proxy_busy_buffers_size 128k;
2 O8 E5 c ]! K, j8 m - proxy_temp_file_write_size 128k;
! S, A/ v9 d. X3 M" [2 e. A - proxy_temp_path /home/cache/temp;: f: X0 u) j3 t% O: ~
- # 配置临时目录
0 i/ b$ Q+ s; m- n( X4 U! [ - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
1 Y: q+ F& y6 i. U- e6 k3 A! K4 C - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:1 P+ _7 \9 a) M6 E+ x' Z
) m' e' c$ M+ k. u4 w2 x( k0 R
- mkdir /home/cache/path -p
; ~4 P- i Q1 p3 v0 e6 e. w - mkdir /home/cache/temp( R4 f* k& {* U8 |4 W& B+ ]% u
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
' n$ K4 l- G. H/ b: M
, w" Q3 j5 W6 T0 M; p" Z9 Q) w9 J6 o8 f( f7 m: H" l7 {& Y& z
先创建一个“www.wdidc.net”虚拟主机' N. s8 y$ n2 v; ]% K5 s0 n
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
0 G, q* K) a m9 E8 ]7 c# M3 n4 I* \- o8 d
删除之前系统生成的代码,填入以下代码,注意修改网址。
; ]# i/ P9 I0 n- n2 s& p2 P- server" D, t, ]1 {8 q% ]( y' E- @- x- Z
- {/ P1 H$ c1 A! |% x* @
- listen 80;7 C& I, ^" i1 ?
- server_name www.wdidc.net;
- m8 O3 [/ z2 m& z% p- p( ^ - $ W* w9 e% s" |/ D* Z! X# I
- location / {1 T* J8 H3 @, Y3 a" l
- proxy_cache cache;8 C. C% `/ a7 ^6 a, O9 ^6 n+ I3 C
- proxy_cache_valid 200 304 7d;
5 a2 B* B1 a( X! Z4 ] A - #200 304状态缓存7天,按实际情况修改% r Z5 o1 i" Y/ ^& O
- #其他状态缓存(如502 404)10秒3 w! m9 g( c: @3 h
- proxy_cache_valid any 10s;
$ V7 {2 @8 ^' Q% m4 {6 n; k5 n - proxy_cache_key "$scheme$host$request_uri";3 A0 ]; ^7 h$ }/ U- l* B3 V+ x
- #缓存key规则,用于自动清除缓存。6 B3 u3 o. t# D
- proxy_pass https://bbs.wdidc.net/;
' L2 t( ^! O) \: P8 z7 I% n - proxy_redirect off;9 J/ d; J' B& ]6 @8 w. t. E6 P' I. e$ }
- proxy_set_header X-Real-IP $remote_addr;6 T* i) n! y9 y0 b
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
/ H8 Z* q; W* ]4 o; X! _* \2 a; P - #向后端传递访客ip
: x# D- h! J; U+ P) O4 \. A3 x - #limit_conn one 20;
+ j) a0 W2 S* N- a% L6 L! v/ b - #limit_rate 200k;
3 d' }' W8 d6 a, c' W8 O7 g - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
; K& A1 g5 N! O5 D - }
, _9 o, q6 Y& S1 i; c2 Y X) D - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
# |7 i) b( y/ h% o1 D1 x* L
) k1 Y7 n' ` ]3 ?2 _) [$ r- /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! M' K/ C4 G( S9 y+ H. i' f. w0 [) n a- k( c/ X
重启nginx
T0 p( l. H1 t
" F* D3 _( K: i" e+ @& B% ]; ]; H) i0 i/ o0 r
4 u) }6 r4 W4 w% |( a2 {9 |5 I1 i: R( F( o u( e
|