Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
" D2 K- ?( D- E4 l$ x
: R- K9 m/ d/ \6 k6 w. m- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
( d/ \; B X6 g9 v8 k6 Y, }. x' ?- client_body_buffer_size 512k;
7 A9 F& M9 {4 D. y, R - proxy_connect_timeout 5;
8 P" j" T; N3 [) }3 n" f, b$ |. z: H! M - proxy_read_timeout 60;
0 X$ F0 F, J, O! ~) R K - proxy_send_timeout 5;
8 k( Y9 g6 m3 t5 |- |5 T. F - proxy_buffer_size 16k;1 L( w' K& d& u4 Q4 f
- proxy_buffers 4 64k;
9 a0 t2 u, T( X7 o - proxy_busy_buffers_size 128k;: U e, z( @+ J, u! J
- proxy_temp_file_write_size 128k; [3 O; U, S& `/ h- w7 C @
- proxy_temp_path /home/cache/temp;+ d2 N( \8 ^+ ?1 |) U
- # 配置临时目录
% j$ {/ @' V( b1 K) Q9 d - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;* x) o; U/ q0 y! A8 D
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
: w4 L0 u4 v; j% C# @% i0 m/ z/ f, v1 ~, Z$ A
- mkdir /home/cache/path -p6 d9 Z$ m( ~0 A$ v1 h
- mkdir /home/cache/temp
2 l! X4 C& {5 l4 o - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
* c7 Y: }( ]" C/ ?4 z; c# S" K3 B' i& @
6 m4 [" e5 r& H: _, V
先创建一个“www.wdidc.net”虚拟主机
1 ?6 R! b% k: S8 o- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
( E1 E0 ^' U- K! p% |& e# h6 d6 h3 D( E& J% O% D, @1 O
删除之前系统生成的代码,填入以下代码,注意修改网址。- }6 ]! ^; }1 k" y
- server5 ?( O- [( y% Z4 Z
- {
; d& d# A6 ?9 T/ O1 @( p - listen 80;
|4 p7 K( D l - server_name www.wdidc.net;
4 K# Z0 @ G$ P% B, ] - & F- y" I( _0 r d n+ y* v
- location / {+ x7 A( ~6 e5 n( R
- proxy_cache cache;
8 `4 Z( \# y7 w- V - proxy_cache_valid 200 304 7d;4 X/ b! ~1 L0 P% i U: N" B3 Y
- #200 304状态缓存7天,按实际情况修改
9 |5 p2 k" z# V; F" d$ z; K; u7 m& _ - #其他状态缓存(如502 404)10秒
9 B. g& g# W0 \* _ Z8 J; h7 {. Y - proxy_cache_valid any 10s;: c/ V0 z7 L B
- proxy_cache_key "$scheme$host$request_uri";
% h+ Y1 o6 B9 \" W - #缓存key规则,用于自动清除缓存。( E; a- t+ L y3 U+ Z+ E
- proxy_pass https://bbs.wdidc.net/;$ U& C5 y# f% d
- proxy_redirect off;
4 g1 Z* x2 X/ s0 D- S1 P - proxy_set_header X-Real-IP $remote_addr;* f" O/ w/ F0 D" {% ~
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
8 w( z/ y- v( Y7 Y1 g - #向后端传递访客ip
/ W R- I) t+ I- S+ E - #limit_conn one 20;3 J9 }, `* A& O
- #limit_rate 200k;. p6 e) I- R6 O
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
/ \* I2 a) d: L. ?) p - }
4 A3 r* t; ]9 j5 {; E. j - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
5 ?9 ^: g8 ~5 i. I* p2 T Q* e, g3 G" n/ \3 C. |; D
- /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”表示正常,若有错误请根据错误提示排除问题。( ^3 e5 d4 a0 o* W! M
, y, y. b6 V. E6 ]( k9 N
重启nginx
0 N/ T0 R4 _! m0 X" t; Z0 J" d3 |6 _
1 |- `$ o' C- K, W* F# g9 D! j/ B" k0 I9 n8 U# p6 h. `+ @
$ A' ?( a, l, ^+ d6 N/ c# ~9 X- ]9 o% p! D: x' n
|