Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
6 Z" y; G- R% e0 p
; w/ H* x9 T, W- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则+ m# h( ]3 L7 {9 X+ @& {& s* P
- client_body_buffer_size 512k;
( B2 w. \. l6 T* s - proxy_connect_timeout 5;
7 d% s8 c W; ]& |% f - proxy_read_timeout 60;2 a$ R, E* }1 {+ c: w; g7 {( n
- proxy_send_timeout 5;
) F. L) G5 @3 u4 `: S - proxy_buffer_size 16k;
5 {" o( ^3 T+ k+ d2 F2 Z/ X( ^: g - proxy_buffers 4 64k;
) M* k$ M: y/ i4 k+ C) S - proxy_busy_buffers_size 128k;9 \! t# `0 d5 n+ C
- proxy_temp_file_write_size 128k;
5 z+ @# M' I$ K! w q* z) S - proxy_temp_path /home/cache/temp;3 D% t- \! |$ p* G5 Z/ d1 i1 ^
- # 配置临时目录7 s" W2 z% i4 Q, e* [% R, o
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
2 p: N" j4 Q" r% X( R - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:( o5 j9 [. s8 F; ]
* r; j1 V+ \/ |# u- mkdir /home/cache/path -p3 K1 [. {8 I, ]6 c9 g
- mkdir /home/cache/temp
' a3 a2 P/ v5 p, s - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
/ A9 _7 ^5 L d5 T" n' m' K/ A/ Y# e# a+ r, \
; y! v/ Y6 ^ P先创建一个“www.wdidc.net”虚拟主机
" K, v+ J! y* b8 u- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。. ^; S! j$ W9 V7 x
; L( v/ C# {! g2 i* |删除之前系统生成的代码,填入以下代码,注意修改网址。
4 U3 O/ d5 m; v! U; I' i- server% P1 L6 m5 `" i9 q |, w
- {
2 H2 k, ]) q" i$ k; ]; ` - listen 80;
$ a) T4 D! S: p# ^ - server_name www.wdidc.net;
# F, p) }1 P0 |, @+ @, a" e& ~
9 ~7 o0 d: ^, c8 M8 V: z, X- location / {
: s+ B2 S3 O* r" k. o+ z - proxy_cache cache;" Y4 E6 f6 E$ p1 D+ q8 Z7 o+ _
- proxy_cache_valid 200 304 7d;+ ?( F( a9 b! d/ G5 A0 i
- #200 304状态缓存7天,按实际情况修改, I+ q9 }; R5 |% M
- #其他状态缓存(如502 404)10秒
- c+ j' }- [9 K8 R - proxy_cache_valid any 10s;3 G/ d; Y" e4 }% i1 h* W* O
- proxy_cache_key "$scheme$host$request_uri";
5 Z2 H2 v3 Y6 Z6 U ~ - #缓存key规则,用于自动清除缓存。
% G2 `$ K7 U" t4 F( m$ | - proxy_pass https://bbs.wdidc.net/;5 }* w% b A4 Z: Z- T' v' }; T
- proxy_redirect off;1 @0 @7 l) `- m9 _- T( _/ w6 e% }) a3 J
- proxy_set_header X-Real-IP $remote_addr;
8 Z- ]) i- I2 l3 k2 Q - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;) @2 C/ A% D5 f
- #向后端传递访客ip
- p8 p1 R$ ?! {/ q9 y3 A$ [+ S U - #limit_conn one 20;
2 B$ U1 v0 \* [( d. g - #limit_rate 200k;
" p5 `5 q8 H3 H0 t" b - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
1 w8 `! P- I9 a1 R - }
* ]2 y" N9 `5 V' |, ?& P' u1 t) o - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
7 t5 g, t8 F- |' `3 \
0 p) d" t4 J5 A. `9 G$ 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”表示正常,若有错误请根据错误提示排除问题。
7 v+ K8 N3 t: l- ~
! x; s4 C; d" t t! z6 {重启nginx
" W9 }# T! W2 R& v& |! D; k
$ J# n: W$ x: e2 U2 x7 L; {/ @3 p7 _: v" [% D$ g9 O7 i; U; B
3 M& [ h8 D. O8 _* w' |& \2 K" `
* @6 A" [# X g" X3 M: u |