Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。; W3 n9 H/ k; C% Y; Z
9 F0 S$ @/ m) g: t* g* Y
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
+ B) X4 u' _- j- client_body_buffer_size 512k;. [% ?0 m& |2 V. ]( S
- proxy_connect_timeout 5;- f, ^, @( m' ?9 `1 H
- proxy_read_timeout 60;$ o u( S4 x4 q1 a+ Q; M. h
- proxy_send_timeout 5;9 l$ T9 _$ ^0 I: C$ u d. H& ^6 P1 R
- proxy_buffer_size 16k;
+ a) P; I: g% ?; b( [# U" D' L* \ - proxy_buffers 4 64k;* o% \$ U+ Y' f' V+ \4 V7 ]/ K. k
- proxy_busy_buffers_size 128k;
- a d/ d/ O, @2 C- l - proxy_temp_file_write_size 128k;
6 H2 ^8 y1 p6 y o - proxy_temp_path /home/cache/temp;( O1 X/ a3 h4 X5 ^5 z# E4 A
- # 配置临时目录
4 X, r; j# `3 Q - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
3 J' B$ _* g3 A5 u( X - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
7 t- S1 f6 `( o; Y( x& B n0 j/ z1 `- M7 |
- mkdir /home/cache/path -p' x% S. h3 A, b: o9 D3 k. z
- mkdir /home/cache/temp
) n+ L& W; l& A' A# {6 x - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
1 g* W% C4 w- d Z) w$ ]7 }: g# ~1 I8 A6 ^ U! p% V
6 J" }5 F' Z" ?- F+ \
先创建一个“www.wdidc.net”虚拟主机 j+ G8 s; B1 u# F$ u8 D0 o( w; U2 ~1 ]
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
0 f( j- v+ [3 r4 D( b, b& j* h! B) n, i" ]) o7 K
删除之前系统生成的代码,填入以下代码,注意修改网址。1 [+ N* x) c1 [' l/ g
- server. V! S/ i7 \! h
- {
5 f0 F, ~1 Q5 A' x - listen 80;* t; R$ ]/ n% b! g4 o2 H% ~% w6 e
- server_name www.wdidc.net;
. y8 c4 v5 P* {3 Z) n9 }0 n
: }! d4 I8 Q* Q! f: D0 M- location / {4 K& }, X y$ W; I$ [: n
- proxy_cache cache;, \0 c+ n5 B2 f# l5 I1 x" v( a, ?, b
- proxy_cache_valid 200 304 7d;
3 D4 d# I5 o/ w - #200 304状态缓存7天,按实际情况修改
3 J! @/ {7 o. J& f( y- P - #其他状态缓存(如502 404)10秒8 j$ S/ @6 ^, t+ H
- proxy_cache_valid any 10s;
% I/ k( i0 L& N/ _9 E - proxy_cache_key "$scheme$host$request_uri";, `: u) a" ?5 C* x5 ^
- #缓存key规则,用于自动清除缓存。9 s0 e$ Y. F# ]0 F1 ?. I) l! T
- proxy_pass https://bbs.wdidc.net/;
1 u; r+ z$ [, l2 ~9 a. i+ n8 ? - proxy_redirect off;5 l' E' k( D/ H* [6 L* z) _
- proxy_set_header X-Real-IP $remote_addr;
' U/ H& D. d& o' ^) R& H5 ^* M3 ?+ y - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;7 F% [7 V0 c. G/ |; n
- #向后端传递访客ip" P4 i, ?, G7 Q- e
- #limit_conn one 20;
, |: u' J( n, y4 g - #limit_rate 200k;
: A6 P/ t# _$ J9 }2 p. c - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
. c% V. E+ d3 ~* Y8 E - }
9 J$ k0 q K+ [" A - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
# _5 c ^- O" N$ Y; b1 S% S& P: H( I+ M/ w* d _0 ]
- /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”表示正常,若有错误请根据错误提示排除问题。
# b4 d% L/ s# I+ } y7 I6 H
, j4 i7 I$ M: x% X- |重启nginx
# B* Y1 q. n0 n, `2 n7 m9 H
3 d) X/ x/ y1 q
! z0 K0 {# _+ V8 E% n& Z
]2 l% p& I/ t+ \4 e/ @& u/ z
" x' f. E3 I1 y$ p2 Q% i" w/ Y |