Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
n5 z7 o$ ]) Q: W S& o/ U
/ }3 A Y4 v7 J# V- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则& T6 c# r4 X! ]
- client_body_buffer_size 512k;* `# a$ e% d7 p+ t6 [: a( ?# F
- proxy_connect_timeout 5;
. p, m Z; \5 K5 \, \1 l - proxy_read_timeout 60;
% Y! e; j" _; A% e; O! [+ ? - proxy_send_timeout 5;* S2 E4 x( K, n3 ?
- proxy_buffer_size 16k;
+ @& i+ g8 d7 P0 z8 m- l& X7 i - proxy_buffers 4 64k;
" O, g" K3 Y7 e6 u0 `1 l - proxy_busy_buffers_size 128k; B/ m/ o) r+ N
- proxy_temp_file_write_size 128k;! N* a3 b3 `$ y
- proxy_temp_path /home/cache/temp;
! i! B5 m) i9 t9 J! m6 S/ | - # 配置临时目录
( d" R% P- a. _- P6 k: p - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;6 R ?: A7 a0 E( f
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:1 l' g' i; }- y6 q l7 s
& `4 b- V5 h& B& Z& W; K
- mkdir /home/cache/path -p. ]4 y6 y% a( \! u) P
- mkdir /home/cache/temp) ], q& r3 T6 G( |, |3 Z" u9 l+ U b$ i
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限7 X# r3 T8 [7 [7 a
* j* \7 D: f+ H% E$ p3 Z; a# D2 ~2 O& {$ U7 I3 L
先创建一个“www.wdidc.net”虚拟主机
3 i1 [& E: u1 h, [+ F. s& @- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
4 Z0 ?$ {5 q. o# r. P V# r8 @0 j. Y2 r- [! F
删除之前系统生成的代码,填入以下代码,注意修改网址。9 D2 E y. s" l0 d( V3 R+ K
- server
, m/ \! a3 \! V - {# w4 [" [& F& y
- listen 80;5 h* ?& E7 c. f
- server_name www.wdidc.net;: Y1 W; L. [4 I: Z
- p6 s: F6 U/ [7 y2 q; r }
- location / {
% S5 j" B/ s" o; ?/ F - proxy_cache cache;" h9 K7 g* Q: }1 w$ `$ t
- proxy_cache_valid 200 304 7d;) G3 P5 W9 N5 M) S# v
- #200 304状态缓存7天,按实际情况修改
3 Z" [9 d3 @$ w* u. n; }" m& n D - #其他状态缓存(如502 404)10秒
* \, Y V! h* s3 e& u6 K f: Z; u - proxy_cache_valid any 10s;
! c1 W- a' ?5 D - proxy_cache_key "$scheme$host$request_uri";7 `6 ~" z' H. Q& W/ f
- #缓存key规则,用于自动清除缓存。
! w J6 _5 f/ ~- `: @: L+ _ - proxy_pass https://bbs.wdidc.net/;) N. ]4 Z g+ ^+ l( R+ L
- proxy_redirect off;) @ \1 t4 B3 }* ]. P
- proxy_set_header X-Real-IP $remote_addr;/ R3 \, b0 \1 z) V
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;5 s# v; s: K5 Y& K6 r
- #向后端传递访客ip
8 u3 P2 O' ]7 { - #limit_conn one 20;
, V s8 T2 f# v/ X" G X/ V - #limit_rate 200k;+ D0 q" a! ~+ p1 {7 V$ ^1 x" e
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#8 i& N" x. X% C% ~# `
- }( _& q2 m7 X4 l) t
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。7 w! J/ ]" \& N7 B; ~0 N) t- K
. b# u2 R& W0 m' A5 ?
- /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”表示正常,若有错误请根据错误提示排除问题。; l3 H- }" {& R" E9 F8 O/ A9 e
5 f# ~% i& j1 a F( Z. q重启nginx# d1 N8 k7 S: O
% o4 _- j4 J% ]# q" J9 ]5 |
; c/ U' y3 e8 X$ \
) F+ B( O" k4 O' [" S
# c) u- v% O* U( Q, q |