Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。8 w( C1 a; u/ ?( ^& u
6 x2 m5 z9 Y9 ?+ \6 U4 H4 ~% P- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
7 V' ?2 ^ S N/ f& U. Q- client_body_buffer_size 512k;7 C$ K1 w6 S/ m/ H
- proxy_connect_timeout 5;$ U1 b+ I' f, R1 h0 A* @
- proxy_read_timeout 60;
, s' M2 w |% n& ] - proxy_send_timeout 5;
) j# P! Z( x) L. g+ [0 t* W - proxy_buffer_size 16k;+ \; L4 ?2 o' s! @5 b" [& G
- proxy_buffers 4 64k;; u S8 ^: B; W' `
- proxy_busy_buffers_size 128k;* ?) r, I: w, f- V: r _$ V5 w
- proxy_temp_file_write_size 128k;
' b) A( ^; ~' c: P3 }/ g4 \ - proxy_temp_path /home/cache/temp;
* V+ \8 t* ?, |( g9 ~ - # 配置临时目录( p* u9 B+ f0 \) p
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
! x- k4 R( [* ?- }/ F3 H, W - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:* T# @( F" f( z4 v) z: p- s' E7 Z
H b/ c$ }2 p5 z$ F' A, A9 @- x- mkdir /home/cache/path -p: S( y# h# r# e- K/ `
- mkdir /home/cache/temp
! ~# `4 v9 |* g9 K3 L - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
- @" j o4 ]3 o6 k. A; h
0 g4 C0 {6 l$ ]& G3 i) I
7 X. i8 v. I2 U0 e; S8 \' n& X0 [先创建一个“www.wdidc.net”虚拟主机
% s+ t; x! f# }. a5 j- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。/ G1 e5 `+ x2 W- O1 v6 d
4 Y+ h: w+ W; o, h) P. D
删除之前系统生成的代码,填入以下代码,注意修改网址。% u* L3 S* S2 ]! y+ s2 W8 l
- server! K) N) }* B3 o6 M" E$ s
- {' I" k/ x: I6 g2 N A+ ~$ L& s# u) C* k
- listen 80;
) I7 x. o' N$ `* i! Q# _ - server_name www.wdidc.net;
8 M7 K. A% |7 N4 h5 Q$ W2 p! `$ W
) y9 R# e1 O5 P+ }0 J F/ W- location / {
5 F7 [& y9 h' V) w$ _9 O3 L - proxy_cache cache;
6 N/ v' o( F+ E0 W" G - proxy_cache_valid 200 304 7d;
6 S4 {4 C0 x4 ]& X& q2 R - #200 304状态缓存7天,按实际情况修改
& E: f1 D9 F( d9 F1 X! } k; o# U* w. z8 J - #其他状态缓存(如502 404)10秒
. Q' I$ d' L, N* s y& s) r - proxy_cache_valid any 10s;
, P M9 m) A7 v% n4 D: D5 ~. r - proxy_cache_key "$scheme$host$request_uri";. J) x6 E& U. ?, w. n' ^
- #缓存key规则,用于自动清除缓存。
, O, I5 Q% A5 H0 P4 r - proxy_pass https://bbs.wdidc.net/;5 B3 g8 X$ v, ^+ z( i# b; h7 `1 O
- proxy_redirect off;. I, S2 U) L! _" {9 u# z4 N& i
- proxy_set_header X-Real-IP $remote_addr;1 A' }' l$ h6 M& M% B8 E
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
6 |% S6 C. e$ F, i! A; _* K - #向后端传递访客ip( B# P- ^2 P+ h" }! m8 t. m
- #limit_conn one 20;8 l% Y% X" A( Y3 W' x) e
- #limit_rate 200k;
2 I% s+ o6 z8 w0 L9 {8 B - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#. |; @) C* U; G5 W0 X- w- J
- }
# D# D3 w( Y. |9 M$ M* m9 q - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
9 U# T' @& ^" }0 U* ?8 J {7 G1 l4 c+ F8 E. \5 l2 E" B- K8 V5 Q9 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”表示正常,若有错误请根据错误提示排除问题。
0 [* F- g6 Y6 o$ [. t. _
H. \+ V" C3 O$ Y! ~8 K7 G重启nginx
3 b4 i, Z. |- E, l' M P/ k5 |7 X5 S4 e s
; q" Y7 `) h7 a, ~9 L" F( @9 |. I" ~* m
9 J0 F5 K, g2 {: ~8 t, Q |