Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。% m1 g H. t8 i. j
1 F7 O/ U' c3 o! J$ j1 t$ F
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
$ f: [" o0 n' c7 I/ w P2 G5 Q& U- client_body_buffer_size 512k;7 Z$ t$ k f& k* @
- proxy_connect_timeout 5;
/ b! ^& S! [9 t* c2 z. t4 y - proxy_read_timeout 60;$ `& W6 n0 e+ v# v Q" a' L! r
- proxy_send_timeout 5;
: l! I& C- L3 I2 d0 I# ` - proxy_buffer_size 16k;
- E8 t, a. i' {. c - proxy_buffers 4 64k;
$ e+ ^3 t2 X4 J F* S" C2 ] - proxy_busy_buffers_size 128k;5 k7 i+ Y7 W. O1 D- S) j
- proxy_temp_file_write_size 128k;
! ]' N' X! X9 G: Y - proxy_temp_path /home/cache/temp;
" p' P7 s; Z' @+ x' Y - # 配置临时目录
7 s. t1 B2 P; I1 Y - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
! t) x, @! x3 y W6 [ - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:" Z4 C9 V3 a' y# }' t0 z
6 ~0 q, ^1 T& S) C- mkdir /home/cache/path -p
. e1 B- i' v7 T% k& l - mkdir /home/cache/temp7 ?9 d) q$ w9 q2 n8 H7 ~
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限# `& S. T+ p# x6 Q
2 e0 f* s, F8 g' _9 _: h/ H
\5 t/ {# l. H7 i. w* w/ m6 |; a先创建一个“www.wdidc.net”虚拟主机% M V$ i8 n' k; f# d4 K
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。9 D# R0 U3 W2 x4 y" P, d
5 g" B% c) c3 W' v2 g: A( F删除之前系统生成的代码,填入以下代码,注意修改网址。
9 p g4 g( t* w5 e- q- server _9 y, J) q, Z
- {+ a- V$ W8 r% }5 c/ w% k2 M. M1 R
- listen 80;0 m9 Y6 g3 M' l: P, C2 m
- server_name www.wdidc.net;
. q. W" I& N+ o- I8 L
$ [+ I- ^: O; _ q3 G5 N; w8 S- location / {
6 N9 D, N4 U+ M# I7 B7 q+ Z: n - proxy_cache cache;
/ }$ `: y( S9 x/ [ - proxy_cache_valid 200 304 7d;7 }9 k' y! D& x# v0 k. o" x; `( |
- #200 304状态缓存7天,按实际情况修改
0 n" z8 w; I( Z5 @ - #其他状态缓存(如502 404)10秒
$ [: i z: l# H+ k$ J6 v' M - proxy_cache_valid any 10s;
0 j6 E# Z& u: V% ^ - proxy_cache_key "$scheme$host$request_uri";
/ x- O9 ~/ v* p6 j0 a - #缓存key规则,用于自动清除缓存。
2 R' f7 _) t8 C8 y. M6 t - proxy_pass https://bbs.wdidc.net/;& k# x! c3 b: F, A2 c9 [8 a
- proxy_redirect off;
. w- P% ~" }2 F) O' o+ X - proxy_set_header X-Real-IP $remote_addr;
v4 V6 p' X/ X; _: N6 f+ | - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;/ y( M2 ~, ?1 [2 R2 X1 F# Z; R
- #向后端传递访客ip, |; i9 |: I0 P' G$ P8 j3 y) r& u
- #limit_conn one 20;' N' R% u) r5 }& Y _9 l) d3 L
- #limit_rate 200k;
; X9 @& d$ k w6 H, @ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
! e, A$ ~7 x) M6 t - }
& ]- r, h& B% M5 y; D; f/ z - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。9 v3 D' \ }9 t
6 l( o! B' X5 X- /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”表示正常,若有错误请根据错误提示排除问题。( n4 L3 p' I* M
) r* Q8 E/ L- h/ m* m重启nginx
) M" e5 s% G/ o# k Z( {, B( L T' q8 g1 C5 E ^; l$ @ H+ {$ j& d
2 d# T$ n! g3 a5 m
% \9 F6 w) ]# _) z# {3 ^1 ?# k: w
+ Z# x" \* e3 W! c |