Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。) k+ z( o' X+ V- C) C- ~6 P# u
- Q5 `, A7 N4 H+ x" |" q J# s" `/ Z- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则, }! |- w) x. n& W5 W
- client_body_buffer_size 512k;
" i0 u0 n, s8 e$ @ - proxy_connect_timeout 5;$ l) ?- X9 \: x$ o
- proxy_read_timeout 60;7 s. I" y1 [2 V; _ E1 m" w
- proxy_send_timeout 5;, J# |6 E( T2 t9 X9 K$ m" l, Y
- proxy_buffer_size 16k;8 R# {* n3 q: ]1 b# B
- proxy_buffers 4 64k;
, `, o7 _* |% C1 f3 s4 j# I: a - proxy_busy_buffers_size 128k;2 ?/ o. ?& F' r$ W( y; X
- proxy_temp_file_write_size 128k; G. D! P2 U) w8 E( v
- proxy_temp_path /home/cache/temp;, P, ^; _/ X: X& a; |, F
- # 配置临时目录7 k, n! i w8 x$ o3 M" [+ }! @: w
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
5 y1 ~8 L0 U( H/ r- B5 Q - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
8 ~2 c3 ^- O# i% ?" T1 M+ K R9 a
9 w% }, |. F' U& h6 l/ o# Y" K- mkdir /home/cache/path -p
, z; h5 T& n3 @9 c g' U4 N - mkdir /home/cache/temp" b" w3 u: a% g: Q" p3 t
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限3 q& I) }7 q6 g3 q2 x. b; H
* o1 O9 Y7 t/ S( c% l# n2 U2 B1 T7 {" [$ ?. @8 f3 c; d% y
先创建一个“www.wdidc.net”虚拟主机( f" p& O# n$ v7 q4 H) m
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。/ _, ?4 e6 [; P# u
% X8 }. ^4 n" u1 W删除之前系统生成的代码,填入以下代码,注意修改网址。5 S1 r: O% a- L+ o; I3 D6 |( }
- server+ @3 S( {/ ]* v x; m2 P0 X
- {( `# ]+ @8 K" A8 u" N3 |& @6 b& f
- listen 80;1 ?! G4 {1 w" e2 _9 s
- server_name www.wdidc.net;
4 z, p/ n {3 R' Y* }: I
' N5 ^, n. x1 C( Z- location / {
6 S/ u6 Y! G* R. i9 E - proxy_cache cache;3 f6 u9 I: u) o7 Y B
- proxy_cache_valid 200 304 7d;! P+ q# E% F) i% b0 ^- [
- #200 304状态缓存7天,按实际情况修改
/ J% i+ }$ U b% C9 A. C; k% f - #其他状态缓存(如502 404)10秒
2 t% h( M' B, N- w - proxy_cache_valid any 10s;
% Y% Z* b T+ ~3 [1 {* B5 A' k! l e/ W - proxy_cache_key "$scheme$host$request_uri";6 k! S( h0 }4 ^1 w4 }, P K
- #缓存key规则,用于自动清除缓存。
0 f# w- \& d/ p9 u - proxy_pass https://bbs.wdidc.net/;6 @0 i/ P; E, i- ^+ k' M
- proxy_redirect off;
; |' Q5 m& g3 p! i! P+ A1 ?# S - proxy_set_header X-Real-IP $remote_addr;
/ n, |9 p+ E: n+ g: b7 A - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
) Q6 x1 c& t* ^% E* A - #向后端传递访客ip% ^$ u7 m9 s' Q1 X1 N
- #limit_conn one 20;2 u1 ?9 |, ~2 u. b' u
- #limit_rate 200k;" u% x4 S U5 @( H9 |: e3 s, s
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
0 f9 n2 t* I' B8 H2 m5 Y$ ]5 X - }. u) E5 V/ {8 H0 |7 P' x( w
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
: }/ X5 l% C/ `" y
% W& n$ D) V' e4 Y) @- /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”表示正常,若有错误请根据错误提示排除问题。
5 s# `2 a$ m9 Y* D& f, R' H) l1 T! v( U% m: `) X# o; E
重启nginx
" X! ^$ E8 ^" }( q
, ?. h, ?+ K: i8 v: q* R! ^5 B w! ?( l& x) |7 u3 u
8 w/ [. k5 u" {
4 L6 V$ n! [( {; I' N3 r) ]2 U |