Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。3 l* i2 ]6 k5 y# y9 Z
* B. G2 o1 |9 K T/ @7 D- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
% Z8 q7 `8 y: Q8 r- client_body_buffer_size 512k;* o1 z% f; \' g" A
- proxy_connect_timeout 5;. ]4 S# w" N& E% R6 h" u+ B
- proxy_read_timeout 60;( F/ N, D% ]' C, l
- proxy_send_timeout 5;
3 e' x. |1 t4 T1 q6 _9 }" @ - proxy_buffer_size 16k;5 b5 N2 R3 F, A: x- a6 I6 k" x1 ~
- proxy_buffers 4 64k;0 F, Z, \. d+ I
- proxy_busy_buffers_size 128k;
; y5 W& b4 |3 [: s* {+ X* n% Y - proxy_temp_file_write_size 128k;; E! g- D$ d0 q2 T
- proxy_temp_path /home/cache/temp;
, w% s, I! q2 m1 C3 s/ Q9 ? - # 配置临时目录
. M9 V& V! D3 C. k - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;/ |) E2 e& a3 u" j
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:' `; I- Q+ q1 p6 ~: r
! h+ E$ m; k% t2 I" s# Y6 }; t- mkdir /home/cache/path -p3 C. u* z: t9 X; J1 Q- q; \
- mkdir /home/cache/temp b3 C" R. ~ V+ y
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限+ E# X, c' x$ R, S
* b: a) @) K9 \) X! R3 ?/ b9 A2 @( j5 z- B8 i- Y
先创建一个“www.wdidc.net”虚拟主机3 `: `) j( s7 d& W+ Q( h3 n- F" X
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。. W* C9 L/ r) u
. ^! ~; X# N J' w& w
删除之前系统生成的代码,填入以下代码,注意修改网址。
/ Y8 U( q$ m) Q4 B4 D- I- server
2 z! U) O( e. r1 I% C, D# ^ - {
, G$ C3 V, x5 S+ F% g - listen 80;
% w+ U2 k3 n8 m! R9 G7 Q( c - server_name www.wdidc.net;
# Z r* H# [. ?7 H# w I2 k, Y - : y6 l% T/ A- r; c+ Z5 Z
- location / {6 o* t2 O) w1 K2 a- |/ Y {- M* n& i9 J
- proxy_cache cache;
4 {7 S* ]' x' X0 W1 y0 P - proxy_cache_valid 200 304 7d;
; \7 K' b( W5 h) T) w+ x; s+ [ - #200 304状态缓存7天,按实际情况修改
( W' e' P9 g6 W$ p- B( v - #其他状态缓存(如502 404)10秒
8 _/ I; t7 t$ s5 V - proxy_cache_valid any 10s;
1 H! I+ h* g7 U8 \ - proxy_cache_key "$scheme$host$request_uri";
, K# c4 U6 }0 U; C - #缓存key规则,用于自动清除缓存。$ j9 z# T- u: K5 B. J$ H2 O- {
- proxy_pass https://bbs.wdidc.net/;
0 c+ A2 j- E# X" P7 W' b4 R/ b - proxy_redirect off;
! F. k$ X: F+ }, ^2 G( g- E8 T' o" E - proxy_set_header X-Real-IP $remote_addr;" G2 h( \0 }" @/ V1 V! s
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
( \1 J L1 t( A% a, b - #向后端传递访客ip, ^7 x9 Z X; u" N, n$ [. M" g% W
- #limit_conn one 20;
4 t4 F, @1 n- W1 [* B8 E: W - #limit_rate 200k;
; W# B7 M6 L- X1 J7 ] K V - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#% S( g# X+ | L( O! d
- }2 g$ h i6 ~9 s6 J. Y: }# B8 c
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。3 H3 ~ {# l y* X8 U
. G3 N9 V2 b5 m$ O, u: y- /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”表示正常,若有错误请根据错误提示排除问题。$ G+ A3 t, u! a' @: ^$ R- L2 K7 T
1 P; g) W0 |* M重启nginx
% a$ j3 X0 r F: S( d: j/ Q' j, G N- z8 A
" x$ d: o. N. E4 ? k6 b( ?- [: g
! D% }9 r! Q+ M' n
1 H; D8 }/ v9 Z4 [ |