Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
( X7 Y, c1 e5 d8 z; ^+ W
* Z! E1 @; m6 q8 k7 w$ e- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则 y% _1 L x+ w, h
- client_body_buffer_size 512k;# \1 u; F3 T7 [8 r# @; Q9 L9 K
- proxy_connect_timeout 5;
* W1 E! E Z+ g - proxy_read_timeout 60;4 v8 J+ _ \+ D Z: c
- proxy_send_timeout 5;' A/ m; W ^' h0 a$ i2 m
- proxy_buffer_size 16k;0 M+ W$ u$ ] z& g& p) p. q& U) a
- proxy_buffers 4 64k;* k, }7 ? w& v9 J$ I
- proxy_busy_buffers_size 128k;
( x( ?$ ~! Y) `# q( R - proxy_temp_file_write_size 128k;
2 I& \! t9 j- l4 q/ V - proxy_temp_path /home/cache/temp;- c" f; A5 G: Y
- # 配置临时目录; Z/ Y, `0 Q, |: ?2 J' D
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;/ Q; t; [. f3 E7 i7 Y0 H; S" v4 \+ l! r
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:* Q) B ~; }& C
3 M; _+ v6 [2 b( l4 O
- mkdir /home/cache/path -p: ]% \! A0 B, u* W( I; {
- mkdir /home/cache/temp* L* I* ]# P# B- @$ T8 t
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限7 P J$ U5 ?7 ~: t( N
2 E6 [) M& J1 i! ` R; Z2 G7 }
" B2 v6 U8 v" }& f- ` ]* X8 C1 T' |先创建一个“www.wdidc.net”虚拟主机5 y$ ]9 C* W' y" S# r
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
4 }6 `# L1 b; q, c& C5 E6 F6 N
9 |9 T, |& I7 R2 f/ M5 _删除之前系统生成的代码,填入以下代码,注意修改网址。
1 Z: e" Q" @, _7 v0 c1 z- server
5 o& l6 k8 r& B - {( @" z' _2 S$ L6 _0 t
- listen 80; U* q R9 y" _ @! N
- server_name www.wdidc.net;; b6 Q+ I2 @2 E" ]
6 R8 `5 J5 r8 r9 @; C" V- location / {
: ~5 D: g$ u" n - proxy_cache cache;
) [1 Q( H! k' _. J& {0 [ g, d5 j3 F - proxy_cache_valid 200 304 7d;" ~' s) Q# z; [3 H4 y) a. Q: n
- #200 304状态缓存7天,按实际情况修改
. w8 {/ O0 ~# q - #其他状态缓存(如502 404)10秒
* W! ?% O: z- m - proxy_cache_valid any 10s;
3 [, [7 T: e1 A4 J - proxy_cache_key "$scheme$host$request_uri";
) m' T; o; e+ ]* M) }( I- M - #缓存key规则,用于自动清除缓存。4 o p2 K8 X# R0 B( w4 G
- proxy_pass https://bbs.wdidc.net/;
, L* j7 @" F) ]* c5 h; {3 o+ D" D& o - proxy_redirect off;
4 ~ E3 @% i T0 V1 m) W - proxy_set_header X-Real-IP $remote_addr;
9 A& w+ F% A( P; p+ B6 X - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;) S: i9 |% [7 b. ?0 C
- #向后端传递访客ip
1 }0 ~' {, \6 r0 z& } - #limit_conn one 20;1 I0 Z# p2 a' D, I$ V) n
- #limit_rate 200k;# L4 g+ Y" \1 A5 X: i0 D
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
# G' ^) x6 h" c- Q% b3 X* ] - }
: g4 t0 f) f: N- E' b0 l - }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
. I! x' l# `, `) r& W. H' V) b9 A. _' X* M, 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”表示正常,若有错误请根据错误提示排除问题。
- p- Y; \( g0 A3 C4 w
) P2 v8 f9 J n2 O. G2 B9 k+ n重启nginx* N) l+ h3 t/ P2 U% L4 w
) D, [2 h- b& ^4 z$ ?
# s& \% a y* A% i" C
- O4 f$ S& A# ?1 `" D2 ~( B+ j% _1 K
|