Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。, @) U) k( O f9 u* ?$ K6 ?
?& n" t$ W9 j) s7 n! N- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
5 g( M' @9 G& O" a4 C' ^- client_body_buffer_size 512k;
' |; k+ w' {; O5 w - proxy_connect_timeout 5;& c/ ?; z% b" M9 f) S2 S4 g
- proxy_read_timeout 60;
; h, X1 k% Z* D o$ E$ c - proxy_send_timeout 5;( B* r0 ]' ], N! \
- proxy_buffer_size 16k;- s7 R* f, V* R5 }; {
- proxy_buffers 4 64k;, I2 Q" K' B1 k0 M7 i* p* I
- proxy_busy_buffers_size 128k;
6 N$ z4 C* t4 d0 ? - proxy_temp_file_write_size 128k;" Z7 M/ ^$ G8 w( k& |+ t
- proxy_temp_path /home/cache/temp;1 K( K4 d6 Z+ @0 _9 L8 F
- # 配置临时目录$ j4 P7 b8 p9 X2 k; H7 b( [$ T
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
7 Q) G0 [6 O# z g7 b* W$ z - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:9 F G. l$ E8 |/ ~
7 Z1 J& ~6 c7 B/ o% P4 Q ^
- mkdir /home/cache/path -p$ V; w6 X. q$ i$ N" _
- mkdir /home/cache/temp0 q: m- ~. X; n
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限9 d$ @( T. Y. Y/ R/ [
7 S0 B! Q. C; U3 B
% u5 T6 J+ K( O2 @先创建一个“www.wdidc.net”虚拟主机( q5 z* i2 q: {
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
6 }& y9 y: X- K" o# D
7 G; z- a/ t4 b) D& D删除之前系统生成的代码,填入以下代码,注意修改网址。
8 E' [$ D% O/ f4 ]/ l2 O! x- server. e2 b- E) y# c: j( h& p
- {, ]' K6 N* n7 q6 } F( m8 |
- listen 80;' l: E8 }% M- p
- server_name www.wdidc.net;
- y/ P5 h: S* x9 r( @# ?4 p8 x' T1 A - # a, | G( J- O! J s' L7 M
- location / {2 A8 t: O2 ^8 j6 J- C8 w
- proxy_cache cache;0 c+ S* d7 U" [6 g' S/ {
- proxy_cache_valid 200 304 7d;
( S" y+ y$ \2 u: R- k" `' t - #200 304状态缓存7天,按实际情况修改
( }7 F% h, r. d$ o# W% } - #其他状态缓存(如502 404)10秒3 p4 q, f/ [! q! f5 P* F$ x* ]) V
- proxy_cache_valid any 10s;
6 Y/ ^) g0 K! Y - proxy_cache_key "$scheme$host$request_uri";
5 {8 P' g" y5 m6 y$ e - #缓存key规则,用于自动清除缓存。
" r& ]9 B* d. b1 E' y - proxy_pass https://bbs.wdidc.net/;
$ h" R1 T2 `! k - proxy_redirect off;
# a0 P4 P) x; _ - proxy_set_header X-Real-IP $remote_addr;
; q# w( B B, k1 k - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# K6 D4 Y) Y# S0 w. d7 r
- #向后端传递访客ip
% S; l( e: X; N2 I, D' a" y - #limit_conn one 20;
5 @5 z5 c! n* M! N - #limit_rate 200k;& b; Q r1 h: }* [
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#, n9 A- s8 q/ q6 r4 y- L7 x1 @# _4 o/ G
- }+ l3 p% ]: ^1 W
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
6 N; T% g2 n P& z
* z! }- y& J ^0 A- /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”表示正常,若有错误请根据错误提示排除问题。
& \6 K9 e2 F: `- ?& F, }! P6 R: C
重启nginx
6 `# U H! V3 G1 |: W# ^& I
. e' ?' S/ P( Z9 z3 t& Q1 ]
% Z9 W3 u% W2 x* C% F2 K" z& o6 O* O: h# P1 p3 |$ }
- W; c" _7 C! h0 I0 {- R( z3 E9 y) o |