Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。4 {" v1 _" g& S4 y" b& O1 s
% Y, C5 V7 l1 p+ F- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
f$ H8 A0 D' a; v, N1 n- client_body_buffer_size 512k;6 T2 n1 a. C% n5 U3 c7 C7 B7 }
- proxy_connect_timeout 5;
- B7 I: n. `9 E- B - proxy_read_timeout 60; J3 K" c3 J9 k l, U$ S" _2 \
- proxy_send_timeout 5;: z Y% J p3 Z7 {* X
- proxy_buffer_size 16k;
' n' [, M3 x' w8 N# b" u - proxy_buffers 4 64k;. w+ }$ {$ ^+ N! Z/ x9 R
- proxy_busy_buffers_size 128k;, ^) U7 d9 J( C# P# i
- proxy_temp_file_write_size 128k; A4 l) [$ K9 {/ j
- proxy_temp_path /home/cache/temp;8 A% B3 |) _8 ~' [0 G0 E" {
- # 配置临时目录 I* G3 X" c, P5 |1 [+ F) W
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
- \/ o5 k/ S. e' t( M7 ^ - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:' N5 v" A) W, Z7 c V5 Z- l* l7 H
- m* }9 n0 Z. @6 \$ a1 ?! r- mkdir /home/cache/path -p) b2 n) b! }5 O8 Z
- mkdir /home/cache/temp
1 G% b! J: A. {9 C3 {0 B9 X3 a7 q9 b - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
; ~! \8 f: S5 M; e# z: Y, t# k9 K" |6 o' C+ g- m. @% D
4 } V! J$ U% L. t3 o2 {7 G6 S
先创建一个“www.wdidc.net”虚拟主机
) O! P4 J0 ^8 R- a8 E; A0 V0 G) X+ ]0 ^; v- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
8 j7 n, u- R- w1 }& y7 X: v% W2 [, f8 w$ H1 v$ W: Y. \0 m
删除之前系统生成的代码,填入以下代码,注意修改网址。$ _0 d4 w5 S, ^5 c* _" E* J
- server
; x9 r6 y. z4 z6 E3 m/ y - {
) N' v: _/ \/ w9 Y& o - listen 80;
2 f" i5 j4 U/ u: R% h: X+ z - server_name www.wdidc.net;
( d* ~+ `9 X& m1 _( e - . H2 O/ g0 z! K; [+ K
- location / {) V3 _! l. c8 k" v
- proxy_cache cache;
1 X: v: k) }; p3 } - proxy_cache_valid 200 304 7d;
/ n8 ^6 E5 P, C* B9 B - #200 304状态缓存7天,按实际情况修改
4 t. x+ y0 V% P2 ]7 Q8 u - #其他状态缓存(如502 404)10秒
7 {( g/ S( F9 x - proxy_cache_valid any 10s; Z, I- d7 v- Z/ s% n. Z) F
- proxy_cache_key "$scheme$host$request_uri";
' ^6 b x8 h' P' d/ v5 \7 @ - #缓存key规则,用于自动清除缓存。" S2 i/ g$ K% C; U7 D
- proxy_pass https://bbs.wdidc.net/;
2 H* t4 _; i: S, @7 I y ?( d - proxy_redirect off;
+ u* S! s+ s4 y# q$ |- ~: ~+ Q) | - proxy_set_header X-Real-IP $remote_addr;
% V6 P5 w5 c6 j; d1 p Q - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3 E$ \: `# y" z d9 n7 Q' w6 v - #向后端传递访客ip
6 o3 f+ u: q& A3 t& v - #limit_conn one 20;
+ a2 Z6 n0 q7 O& V - #limit_rate 200k;
0 I q/ E- Q* m! { - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
9 U& T; \2 d8 c - }
4 P% G! B- a L* j7 h2 G6 k8 I - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
$ E; N+ z# q9 ?. W3 x
4 d7 f8 S' x- V E1 W, V- /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”表示正常,若有错误请根据错误提示排除问题。7 g) m7 V' l" ?6 C, U* w
7 }" |* I T- h" B
重启nginx' f5 D- \$ Y7 p6 k- V$ o
% h" C, {. O& y7 z3 \6 F
; q8 {5 _3 h6 z5 O3 B& w8 R% H# H1 e4 a# J) H- m
! _6 F+ R, ?. P- R; ]/ v( s1 v; z
|