Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。) b6 J. W# z' p$ O; p
, ]1 u' O. T& l0 Q) f$ T! {2 S4 Y
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则% ^5 G( e, S2 Z: T; K7 @* R0 w' ]+ x
- client_body_buffer_size 512k;
0 @7 I. I( R- @; Z6 Y - proxy_connect_timeout 5;
0 h; c5 y2 a1 ^6 E - proxy_read_timeout 60;) r9 A+ @6 A- ?# Z
- proxy_send_timeout 5;
B) q! c6 U" W& y' p - proxy_buffer_size 16k;9 D' _4 ?/ _& _( f8 g9 ?8 |
- proxy_buffers 4 64k;+ X$ S' n3 o% H% e& v
- proxy_busy_buffers_size 128k;
7 }. z7 ^) \9 {( h - proxy_temp_file_write_size 128k;
. ]2 K4 e4 G. _" _; |: w# T - proxy_temp_path /home/cache/temp;8 s8 S$ S7 }8 [. Q" m3 Q
- # 配置临时目录: z% ^. A! M9 \6 x' E7 S/ t7 |
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;3 a0 l/ K* q* }' {/ w0 {8 ?
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
! D2 |- j1 H' ]1 G! Q( @- J) a0 _
1 R8 U* C9 V/ q: S- |- mkdir /home/cache/path -p
/ Q8 W& z- i9 I, ]% f4 \, N - mkdir /home/cache/temp
! c% t& i0 ]' R. O5 J+ k; a* n* ] - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
4 Z& g& b' {1 x- i! Z/ W8 i
: f$ d* b& p" L
7 s) d- t. s! Q: ^先创建一个“www.wdidc.net”虚拟主机
8 |: D* F1 h8 V+ K% e- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。" i1 p6 k6 m) o; x* P9 p
0 W; H' _/ i8 A+ d( [
删除之前系统生成的代码,填入以下代码,注意修改网址。
% ^4 R7 A7 s" g ?7 P- server
0 \: e9 u+ y; k - {# i: n6 o/ p+ t
- listen 80;
% e$ I; e( I; d" l - server_name www.wdidc.net;4 E& Q$ F% M) h3 O( N9 A
% X8 \2 }; |0 S% q# p- location / {5 a1 [9 X% `( t) `' @) M7 A
- proxy_cache cache;5 }8 h# g# X6 d5 f8 `+ B t
- proxy_cache_valid 200 304 7d;
' K& Q* r; Z9 f) [) j; X - #200 304状态缓存7天,按实际情况修改# `4 S' A3 I1 e: q
- #其他状态缓存(如502 404)10秒
/ b @6 k+ ?- d8 U1 d X% E - proxy_cache_valid any 10s;* G2 y8 u/ X- ]! L& i2 [
- proxy_cache_key "$scheme$host$request_uri";
; ?8 l" @' M2 f4 _9 A. ~ - #缓存key规则,用于自动清除缓存。6 g/ g5 Q# C' P% C( k7 L V
- proxy_pass https://bbs.wdidc.net/;
C5 `3 G( _( {$ s# b - proxy_redirect off;9 \* C* t: L% o+ l6 n
- proxy_set_header X-Real-IP $remote_addr;
1 N7 M3 v7 X; [. x8 D - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
/ @, Y$ c+ N5 C# S0 v: B% l, f - #向后端传递访客ip
, b' f# x5 p: E1 A2 j - #limit_conn one 20;+ {1 k$ ]' r; f$ b, F/ S! P5 q
- #limit_rate 200k;/ ^( w" m) I* \- {2 i( f' T
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
) K2 R) R3 v& q6 Y0 U" F - }
$ L, z5 m1 r/ f! Q6 ?7 k - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。3 T4 ]; D2 J. T+ B
" C( q8 b# |! E( ^) d8 O& H- /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”表示正常,若有错误请根据错误提示排除问题。
: X) ]/ |' Y. \( o- F/ t9 ~
1 D# \$ [7 o; M, L重启nginx' y) x4 M: q% }- {
2 q# _7 ?& Q4 S# C+ }1 W
, b3 H' J8 a* r! w
+ n7 M8 r. P. d9 w. S9 T# M; ?! H& U5 |
|