Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
3 [ q. A% h6 s" [, e+ g: [$ @3 V, v
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则# W5 V6 j( Y* ^; V
- client_body_buffer_size 512k;, k1 K. ^/ B0 z9 B
- proxy_connect_timeout 5;
. ?( A* ]5 i; v! \5 C& E8 ? y8 d - proxy_read_timeout 60;# P6 g0 o# [% C# Q+ l( l. Q
- proxy_send_timeout 5;2 w+ F6 }7 V" M' d6 }7 ]2 ]
- proxy_buffer_size 16k;
, Q5 n5 |% c8 E2 w - proxy_buffers 4 64k;
$ s$ [, L# y4 Y$ [# u; u# o - proxy_busy_buffers_size 128k;* W+ Q1 W# F4 L C# F0 c- E
- proxy_temp_file_write_size 128k;
`' G( E1 X% [0 ^) ] - proxy_temp_path /home/cache/temp;+ W/ ^9 F+ ~8 r
- # 配置临时目录
7 L) I3 E8 o+ ^# s9 \) p - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;* ?2 Y: f8 K3 H/ ^" X: L
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:: ^2 M" z6 H3 f+ D5 s- t
) x* Z0 `% U+ L L# b- mkdir /home/cache/path -p$ Q% L9 A8 t9 I; ~' s; `
- mkdir /home/cache/temp9 E- `0 t" i3 ]
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限+ j3 p0 b8 `' f) Y4 I6 p6 }$ W/ q
- R2 {% X+ k+ g
& d* X _/ o3 Q" W q
先创建一个“www.wdidc.net”虚拟主机
- \) |8 I& g- _% X& A- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
4 |4 _5 s( ~! o/ z, ^) g) w( o* D' M, N
删除之前系统生成的代码,填入以下代码,注意修改网址。2 u0 \1 ?# j r& y2 G' C6 b
- server
, ^. B: m9 `/ H4 q - {6 _8 B: T! j! t. ?
- listen 80;
6 L& D7 N) L& U j z( d P - server_name www.wdidc.net;
/ C1 |' r1 p- t) G5 X6 B# e4 g6 d
- O7 G6 W* C o6 b% n' V0 W- location / {; b+ D+ a( P `# S3 ?0 L! \+ @
- proxy_cache cache;
0 ?7 G! R+ o3 N$ H" e' K2 V - proxy_cache_valid 200 304 7d;9 g5 w) d# R/ }% ]5 y
- #200 304状态缓存7天,按实际情况修改# R5 F6 T( P+ o0 L7 j7 o4 X
- #其他状态缓存(如502 404)10秒# y, c- P/ u) R( a
- proxy_cache_valid any 10s;
3 a" s' t5 n" r% N5 T3 A; L - proxy_cache_key "$scheme$host$request_uri";6 J1 y/ b- p8 r% G
- #缓存key规则,用于自动清除缓存。2 A7 X$ Q; p; {
- proxy_pass https://bbs.wdidc.net/;* g+ Q) l/ D( Q
- proxy_redirect off;& [0 p9 E3 F8 F2 @$ p' r2 x
- proxy_set_header X-Real-IP $remote_addr;2 r* V1 z! a" Q
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;2 h( x' R z) a t+ t! h. A
- #向后端传递访客ip
/ }* Z) k3 z6 l* _9 J6 p4 t- g - #limit_conn one 20;
2 c. q! h7 x/ F; I3 r# I: | - #limit_rate 200k;" }" w( q# S3 K; g+ c
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#$ Z1 ]" Z- ^# d3 }$ @- z: p& s
- }
+ f s6 S( e% @1 ?0 h+ }4 l - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
: H5 R% I4 p+ Q% f2 f( a; y F& J
# F7 e ?4 W- @0 c& Z/ _! h8 o- /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”表示正常,若有错误请根据错误提示排除问题。
0 N( o$ i- \/ Y; T: C
, F# K; ]' O, v& ?# c1 W重启nginx5 S# u r. W* Z6 a, q/ |9 \ w
! {& K5 C) @! d! n4 ]
* i7 X" F; G2 |) }) I7 d3 P! \6 i2 x8 A5 L9 W9 B
& ~' A- \. E# L- d |