Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。% ]2 D3 g% ^8 h
# q' A Y8 D2 Z) K- G, ]+ \
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则8 b+ O4 \6 N$ [6 \( M; H
- client_body_buffer_size 512k;
; Y6 W# w" ^- e" }2 V0 V- l - proxy_connect_timeout 5;
: u9 K3 z6 j5 F4 V" P1 m - proxy_read_timeout 60;5 j( Q8 p; g6 B# Q2 [9 y* c
- proxy_send_timeout 5;: ^7 O5 X+ c1 ?; _
- proxy_buffer_size 16k;
! W6 a1 }7 |/ {$ b( _& ? - proxy_buffers 4 64k;* J8 q; N4 B' ~. ]* ~2 B1 H
- proxy_busy_buffers_size 128k;( E i* I# g9 w
- proxy_temp_file_write_size 128k;2 Y/ \ j: |0 h5 Q7 y# }
- proxy_temp_path /home/cache/temp;
% h! S2 _" |2 Y3 g2 ~- D @7 s7 J - # 配置临时目录, b9 {1 v# R6 W0 l: J
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;( U% z+ W, L6 p; O
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
5 p _% d. T$ X7 D+ e6 U
& _# J$ a$ W: P* {- mkdir /home/cache/path -p
$ A% Z7 D- ~& ^2 V. c* a7 l - mkdir /home/cache/temp
/ K6 `% E3 p) |3 K2 T - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限& z Y) a* V7 c* g( ]8 J6 S
/ t& \; K# e) \' w2 L- G
% H7 \( _: A$ W7 u( y' V8 U D8 a
先创建一个“www.wdidc.net”虚拟主机
& G7 S8 |2 `4 X3 @" h& Y+ J- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
" E2 Q/ M2 P" O6 y' v, s+ ]( x* Q0 @( ]3 ?
删除之前系统生成的代码,填入以下代码,注意修改网址。2 ?$ E( m% L8 ^& p
- server
6 b- p% J) x- g2 f - {
* E7 b" m* v* |- ~ - listen 80;: P! E0 i! A; w, G
- server_name www.wdidc.net;+ C, F* N7 [' g# T+ i
- ! q0 U4 Y' L x+ B* o; H
- location / {
" Y4 {; ~" u. K, Q0 N- \6 ] - proxy_cache cache;
& x5 p% k0 Z5 T7 r8 t - proxy_cache_valid 200 304 7d;+ W7 ?/ P! u: j* `6 g9 C4 H
- #200 304状态缓存7天,按实际情况修改. n7 O0 I" w* h8 }. X
- #其他状态缓存(如502 404)10秒
1 C9 b# S" u9 n- @0 G - proxy_cache_valid any 10s;
; j5 g7 J9 u2 x) o4 s - proxy_cache_key "$scheme$host$request_uri";( w% b) ^" Q" U9 l% J d- g/ i' s5 K& }
- #缓存key规则,用于自动清除缓存。
& S2 |( i1 P$ Z+ d5 \ - proxy_pass https://bbs.wdidc.net/;+ K% ^2 m+ u5 A" \% c* w
- proxy_redirect off;7 F4 F( c" S- {& ]% Y! W% q+ x2 m
- proxy_set_header X-Real-IP $remote_addr;
4 D# u" S4 h! |% m - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
! S8 E8 G2 i# }! n! E& A - #向后端传递访客ip3 Y) U) B( k( ?" m7 d8 m
- #limit_conn one 20;! h8 j0 p+ D( i; l" R3 m6 M
- #limit_rate 200k;
6 @" |. {6 |+ f - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#4 C' e" h* ?% J U" P
- }2 J+ X6 p' X5 V
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。7 x6 K! E" I. x* |
i; j+ G/ c/ u! 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 c. R/ M+ f/ P8 ?7 e! p
" t8 s, z8 M/ x' @7 N, O: B; K重启nginx
0 i+ J! D. X" j
0 W |- ?1 k( z( i5 n
: H3 D* l* w% u0 X, {
8 G& q2 B. Y: Q8 U/ Z6 t* K2 E+ b( @& M9 ^: K" E: T
|