Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
& p# u! a Z& S( r& B, h6 x, c' y) h
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则5 O# S3 U" L8 n. W
- client_body_buffer_size 512k;
5 M7 ~6 W0 f% J0 x" X) O - proxy_connect_timeout 5;
, u- J2 ]( ^# g6 x3 s - proxy_read_timeout 60;
. V0 G5 K7 @, O+ V0 q. i# C - proxy_send_timeout 5;' O" v: B: o: Z& d% l) z
- proxy_buffer_size 16k;
" }5 x9 k h. \( } - proxy_buffers 4 64k;
n3 l# i; y& `6 B - proxy_busy_buffers_size 128k;8 S% C& `0 j$ W' u; Z$ Z
- proxy_temp_file_write_size 128k;$ v5 `# U4 Y1 Q3 Z+ C
- proxy_temp_path /home/cache/temp;
0 R6 G& H) S! n9 s2 j# X0 A - # 配置临时目录/ m% k& |9 Y, W2 [5 p0 Z
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
3 y- e5 }0 V: G g, h - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容: i f/ y3 y' P& a" A1 e& F0 I
. w- c8 X$ D% R6 z
- mkdir /home/cache/path -p
# A: D B! I* f - mkdir /home/cache/temp X+ k" x$ ~' v% ^
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限8 d$ R9 O. ~7 g
# |; n) t, p$ i1 ?
# U$ C3 f8 {1 J2 C* g8 M! I
先创建一个“www.wdidc.net”虚拟主机, D2 k9 H* E. o- o/ h: C
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。* L. m" Y9 u8 Y2 ], w0 j
G! A. _) B" @. J
删除之前系统生成的代码,填入以下代码,注意修改网址。
0 y) u. U' e' g& P9 S) J: b) \- server
( ~2 A3 U9 |& w/ b* {. g - {
+ P! `7 e" G2 S - listen 80;
T4 x5 i! }4 k6 n0 B - server_name www.wdidc.net; o# j8 G$ B! ?4 g5 l. S2 a
- ' H6 f7 ^! Q2 O: ?* n' e) ]" _
- location / {* T' H: @1 b: W# i0 L
- proxy_cache cache;
5 r I9 G1 J' W8 T9 k4 m. w - proxy_cache_valid 200 304 7d;! [0 h. C2 [8 b" \& \/ q @( b8 p
- #200 304状态缓存7天,按实际情况修改
$ o) R$ p l+ Y' G - #其他状态缓存(如502 404)10秒- y: X) M- X" b% D0 g
- proxy_cache_valid any 10s;
7 s1 Y& ~, q8 `3 ?" W3 d' ?2 D7 V$ W - proxy_cache_key "$scheme$host$request_uri";
1 h4 Q' H2 ?1 ]) l# ~/ Q - #缓存key规则,用于自动清除缓存。
% T6 l8 L; S: R; B0 K! \! G - proxy_pass https://bbs.wdidc.net/;
& a: a* s& I, ?% d - proxy_redirect off;
& |$ J; ?$ I) O- |, K2 } - proxy_set_header X-Real-IP $remote_addr;# E' \) g: f" }+ O' T( t. c3 s
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;2 x$ q. x3 F* ? G7 o
- #向后端传递访客ip0 ~6 U7 L1 T, {) F% Q
- #limit_conn one 20;1 W# G/ \1 g7 O6 y2 D1 T
- #limit_rate 200k;
$ t/ R, @) T$ t3 S6 i8 O K - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
% H2 ]# z$ f# j: I - }
- L3 Q$ \0 K) D1 y5 P! _ - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
% i+ d z& F4 p6 e0 k1 ?/ q- ~% Z/ 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”表示正常,若有错误请根据错误提示排除问题。
" a) e/ |3 O: ^; O
G) D5 F9 R4 ]4 L2 w重启nginx
9 P: o6 U1 P: C: K0 a/ Y& ?. d) O4 f3 N% x1 {- b
! Z5 |4 ]! e4 V7 |! M1 n+ i3 ]
% Z0 A8 T- y( S* y$ m4 B6 g* q
) D6 k+ a# n% Q. }0 M$ B |