Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
1 a* E E9 P' s9 @* `+ B6 o; w, |6 ^$ I9 v" c" z
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
8 {2 t. v& y5 ]& c5 ^- client_body_buffer_size 512k;
" ~# D! k. X; m% c+ x0 O - proxy_connect_timeout 5;
* j: ^3 q; w- a0 C - proxy_read_timeout 60;
1 T! X/ J7 G r% [2 c - proxy_send_timeout 5;
$ d& o% j1 b+ H - proxy_buffer_size 16k;
- p/ }) N8 ~: Z k' @( ]% u - proxy_buffers 4 64k;. ]& C) J8 c, z- `4 H& G" S
- proxy_busy_buffers_size 128k;# M/ C* n( S% j5 y! u
- proxy_temp_file_write_size 128k;, Y3 S/ G6 W3 b. r* S$ h
- proxy_temp_path /home/cache/temp;5 r8 g) g& e/ |) _! s! _
- # 配置临时目录
% _/ l" l, x. W5 Z5 z& u - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;& u* ~( F [$ T( B5 K) u- }
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:, C+ g# F; b2 |( p% d% ]* f
" h9 ~8 q- @4 s1 B( S6 Q' d- mkdir /home/cache/path -p
5 }, S9 \ K1 R - mkdir /home/cache/temp
8 R+ ~1 B, o+ y. y - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限3 l+ z2 o, E; l" x; e( G
4 Q, H' o: ^4 B% D
) m, G8 l& _; J, L" b/ L
先创建一个“www.wdidc.net”虚拟主机
, f, \- r% g; F$ T; w& _- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。& y7 H" T7 v" \9 C I
8 S9 h) _3 K" y6 R/ ~/ m
删除之前系统生成的代码,填入以下代码,注意修改网址。6 r7 A/ Q# }/ q$ ~+ O+ ~8 Y
- server% w$ L# N- r6 O
- {+ M% C! P0 I2 \* R/ i
- listen 80;' p9 C+ e6 d) G
- server_name www.wdidc.net;. ^5 n! ]3 S4 e
- * }4 P) X# m+ @
- location / {
v% w* W* V4 S6 r& O" M3 e4 M - proxy_cache cache;" T U/ I1 d5 }$ j" [+ f
- proxy_cache_valid 200 304 7d;
( R2 T; Q( C7 O* ~( Y+ p9 Y Z2 F - #200 304状态缓存7天,按实际情况修改
8 J! S* i8 Q* O2 N% y4 h0 _ - #其他状态缓存(如502 404)10秒
. Z Q/ @, ^5 c# e' b3 s3 Z# ]# I) L - proxy_cache_valid any 10s;
4 M+ N& ]5 B7 H U0 Y w - proxy_cache_key "$scheme$host$request_uri";; ~! Z$ b3 B+ b- ^* @- ]
- #缓存key规则,用于自动清除缓存。0 O. N" z; \4 k% c4 z5 v, R) [2 @
- proxy_pass https://bbs.wdidc.net/;
4 ]7 [# ^6 Y7 m3 Q - proxy_redirect off;* `) n6 h) h- @ h: d9 y8 l
- proxy_set_header X-Real-IP $remote_addr;
# ~! ^+ u5 ~, P$ _# u9 g/ K$ L5 e, X - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
0 m8 N/ _* [3 s! V0 U, K - #向后端传递访客ip
* V( e+ x4 d$ e( ^ - #limit_conn one 20;& M; v. q3 u3 _5 Y
- #limit_rate 200k;" Q. O4 S2 X+ @' n# ^
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
% K! ]" g. w& U$ y6 M# J - }
% E# T" d& `2 ~8 q4 J - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
2 Y% R- W& \6 y4 F
* S" | _: {* A9 I. I3 D$ p! S% D- /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”表示正常,若有错误请根据错误提示排除问题。' y& R" Y: D- M: ?: P C
' h+ W1 \3 n/ s6 o. b
重启nginx
. f9 }( u- @7 i5 l. h3 x
% N: X# {$ a+ U, g% _. m
) @: U0 w( b- Z3 Z/ A* h2 p/ d5 W) v( p% d5 j. a
0 c" b2 f, t: x7 Q8 @6 r; h
|