Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。% f9 [& x$ C: j5 _3 [
& \2 |$ H) Q" P+ Y2 O- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
0 s" C/ V N# n1 I9 m) x, [4 Y- client_body_buffer_size 512k;* u0 E7 b7 }& ]; ^$ L
- proxy_connect_timeout 5;1 m) X4 j2 w6 ?/ f
- proxy_read_timeout 60;
) x* U) u( G# l5 }7 }1 b - proxy_send_timeout 5;. V8 u' z: n* ~# m e+ b$ |
- proxy_buffer_size 16k;
( a( i0 ?- O( }) f8 A - proxy_buffers 4 64k;
# x9 y: ~/ {& g5 m7 Z7 r8 M1 v4 B - proxy_busy_buffers_size 128k;
+ G3 Z$ V0 [' |* `1 R - proxy_temp_file_write_size 128k;
1 o Q! B; U+ w7 l- c, C+ s9 v - proxy_temp_path /home/cache/temp;* j/ A3 ^* Y! L0 ?4 @
- # 配置临时目录
3 q# V' j0 ]0 O9 r/ D7 L' Y - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;4 |" B Q6 s. d
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
- f" d4 t! ?* D4 {4 r
7 U' y4 M" Z; {' a, }6 @% K- mkdir /home/cache/path -p
|1 h' E, w3 e$ H3 Y$ G - mkdir /home/cache/temp; x* A) v9 Z' }5 y W
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限; N- f$ Z' U9 t# z, n- w
b1 j3 K" d; r# O
7 g; Q, }+ Y' y1 k6 F# x& l" }# S
先创建一个“www.wdidc.net”虚拟主机
! k' H5 y& c- s8 g" Y- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。: I0 n% c- X; _" I' T
7 P5 h l" n: X
删除之前系统生成的代码,填入以下代码,注意修改网址。2 Y1 D( L; L: A2 S8 f4 G/ ^
- server
6 r* j: w) K0 S4 v( f6 Z. f1 x - {
) c2 e. r# Y$ p5 y$ I) z - listen 80;
" R! x4 a9 @/ e! k - server_name www.wdidc.net;
( b* h+ N5 [3 W+ D/ E! P4 F% W
3 K, y2 ]. b! t; O- location / {
+ g/ ^5 T& f( q- G$ V - proxy_cache cache;( n( j- B: ~* p7 B* e
- proxy_cache_valid 200 304 7d;0 p4 v6 \; o A9 {0 p. `+ t' e
- #200 304状态缓存7天,按实际情况修改; a+ C3 q& ^' d; f* ?
- #其他状态缓存(如502 404)10秒! l3 i$ q, D& b' v" l* S
- proxy_cache_valid any 10s;
+ K! P1 j4 |) w/ H% P - proxy_cache_key "$scheme$host$request_uri";( n, c+ e) b4 i) ]$ |
- #缓存key规则,用于自动清除缓存。$ N6 m2 r5 C* P7 F) o+ j
- proxy_pass https://bbs.wdidc.net/;
. D5 ~8 \0 Q* H$ t+ ?& P* U- \ - proxy_redirect off;7 X% ]( l- G7 s& d
- proxy_set_header X-Real-IP $remote_addr;
( Q9 h; l, J5 I! ]5 k4 A. F! K" l - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;) b z0 o$ i6 u, D# g
- #向后端传递访客ip5 ^6 L/ G& T8 H) [ r
- #limit_conn one 20;- {: v( f5 }( H6 j2 [! V7 k
- #limit_rate 200k;$ A' x8 ^" W- _9 i0 X- J: J0 ~
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
* z) M3 k9 V' X: h% t) Q/ } - }% n# N* W1 o/ @- Y+ t( t1 i3 Y" b. q" M; U
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
! ^7 I/ e$ r4 m0 u& r. w+ |( [% d& l; b P* x
- /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”表示正常,若有错误请根据错误提示排除问题。6 o& {) i) j1 y
- E1 j* r8 G3 a, S& w重启nginx
4 y: q- n+ [. U4 c4 m( ^5 c" |; Q" u# u: F% b; ^
$ s& A$ w8 d5 x0 Q. I- N0 F5 O8 e! g- s. w7 A1 ?
7 A" Q% L- A# ^% x9 m |