a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 276|回复: 4

[综合辅导] Linux系统管理:服务器/客户端安装与配置

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
redis 服务器/客户端安装与配置( W9 V* y. l+ i1 X+ Z
   
' u* j2 Q- g/ W' a% a* O    1 redis server- v5 P# H  ~* m+ {. W2 ^$ b
   
3 i$ B. ^( e* F0 E4 A6 n) D, W- b2 I    1.1 获取redis源码包 //官网 http://redis.io/
8 j9 ?: ?$ u( N4 V' O! N0 C    + f+ x4 R; d0 s1 U) P6 D0 T$ O8 U, n
    wget -c http://redis.googlecode.com/files/redis-2.4.15.tar.gz9 f* Y8 ?% x1 L6 ]$ {
    2 l5 s# r4 ], g6 f' ?, s
    1.2 解包3 }+ U9 B5 [, e9 m; P6 ?, W
    ( z: Q6 {9 W8 a, b+ _3 s
    tar zxf redis-2.4.15.tar.gz
; X0 e% X6 w+ \  j8 Y- J    3 n6 E: ^! }4 k
    cd redis-2.4.15
+ S( Y! Z' M) b1 W% S    " q( d* }5 P9 }" U; e; t! G& v) T: M' R
    1.3 安装# g7 I0 b7 A* s! t# c; v: T' U
    # w2 f( f* T5 n% N
    make PREFIX=/usr/local/redis install! J0 u1 q; t7 l! i* k" i% l3 R
    7 O6 P; G  s+ N& d3 A7 h
    //安装完成后,会/usr/local/redis/bin/目录下生成5个可执行文件,$ k  v  V  b+ Z/ m: @
    # p$ E7 [% `" E  v6 t
    ls /usr/local/redis/bin/* K, S4 R& q, ^* _. L# C
   
8 O! J2 z& U5 X# w( M" z- {8 \    redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server
5 W1 s: @8 E0 D; s4 R' f2 _   
# S) f: z/ m% G, S8 a% g( b    redis-server:Redis服务器的daemon启动程序
; Z7 Q: _$ J' Z) h) C5 z( `   
! q; A9 I! b4 B. V+ C( V: J    redis-cli:Redis命令行操作工具。
0 L; d( U) e& z( _    " k) _6 K7 `2 ^
    redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
3 @3 \* T, a, o6 [6 o) k5 ~2 \* `, l   
4 a# g( t) Q2 E/ t    redis-check-dump: 检查file.rdb 文件6 ?. a; Y9 }4 Z" y- \
    . V# N0 p1 t) |7 @; q4 @( f
    redis-check-aof:检查file.aof 文件
+ U7 N* o# v/ h$ o    ) D) a+ X) `5 b) @
    1.4 配置redis
6 H: [# g1 L2 Y    5 L# f9 H9 c3 U4 ?8 M  ~7 M
    //建立conf与var目录
& c# V7 i1 H* T1 e   
7 X, M5 T/ i! m) B    mkdir -p /usr/local/redis/conf1 X+ m9 T! i# N- W1 {: q
   
' G# r4 l* O) h& y- I    mkdir -p /usr/local/redis/var: |2 U3 R( W2 m( a" b7 `6 P
   
/ v) Q: k3 V, j( p8 B  Z    //redis.conf
! q$ L# @* o: H# @. I8 R, U    , p8 G: y3 I' L/ J- F8 f; J
    cat > /usr/local/redis/conf/redis.conf 《 EOF
, q2 ?- s. @; a- M# n; Z    " L; O% _1 E3 j9 e0 B
    #daemonize:是否以后台daemon方式运行( ]( K+ ]' g2 f! W0 M* T( z
   
8 m+ H0 A- z6 D2 v+ q1 @' ]3 D    daemonize yes) g6 K, ~7 L; ]
    $ ~1 Q* m) a$ [5 L7 y
    #pidfile:pid文件位置( U6 ]' e, [; b+ p: s; m
   
) R7 y* B9 q7 {% t7 j; E+ B1 Q    pidfile /var/run/redis.pid
# x6 O! v. A0 {" h3 ]$ `* V    $ R) h% {4 S& n1 _
    #bind:监听的ip地址
( w6 E) g, ^$ D, M    ' V+ ^( [, Z: ?
    bind 10.0.100.70* P/ Q! K, t2 V$ a0 {" T! J- m
   
7 _! ^8 w6 d& f9 f9 h1 T    #port:监听的端口号
/ A# x/ v1 E' o; r. |! S   
9 x9 K8 }+ J0 t; N$ p    port 6379& m. v2 l3 b9 \, [8 Q, d% _
    1 h2 r2 n9 l; I! t
    #timeout:请求超时时间,单位秒
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:07:08 | 显示全部楼层

Linux系统管理:服务器/客户端安装与配置

timeout 120  }/ [; V/ h( A4 F4 f
   
) Q: a& Y# `9 K& v! S    #loglevel:log信息级别,支持四个级别,debug,notice,verbose,warning; @+ Q9 g- K( C+ y# y
   
9 X( M9 c3 q/ s" C' ?    loglevel warning
3 E! h3 ]( d; {8 k    5 Z( F& l) S8 {& v1 f7 y
    #日志文件位置, i3 ?8 e8 K9 _/ w* _" }8 ~
    $ o$ I. g" D+ C* m1 m+ ?( t! x
    logfile /usr/local/redis/var/redis.log2 V* z8 j  E6 M9 m3 X
    4 z) l' d& Z4 d* @" V7 `* I1 A" j
    #databases:开启数据库的数量
, m1 K* X8 V- q0 G2 S   
. ^( j: j% j2 `( m! F    databases 161 M0 T9 o* i! Z3 b& F- k4 R% ?
    ; k" s* `" r6 ?
    ##snapshoot7 N5 ?; S/ B4 {$ n
   
' s' k) N, F4 B1 h7 }    #save * *:保存快照的频率,第一个*表示多长时间,第二个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。' W* s2 L  x* \* ~
    6 o' q) n6 M2 v; ]% E  o
    #在900秒之内,redis至少发生1次修改则redis抓快照到磁盘
) ]0 r1 m7 }* X# k+ m   
) v/ `9 o0 P3 p/ D; h; V. W    save 900 1
5 `! ^3 G: f5 S/ g7 a5 A& {   
9 w3 H% _3 h6 V+ f& |    #在300秒之内,redis至少发生100次修改则redis抓快照到磁盘3 F: [4 S* Q" i( V4 n, S- c$ u
   
1 c( h1 ]& w4 L: }. K    save 300 100
* S* D. s  \: |; y  Y3 W    3 u! ?9 \+ [" G$ O& l: I5 Q" }" U4 O
    #在60秒之内,redis至少发生10000次修改则redis抓快照到磁盘8 G- I$ S  t$ s' c$ s& B& D
   
$ V. A7 E& P5 ]- r3 `5 P1 o    save 60 10000
7 L) w9 E2 t" k) i; [    * H2 J# c/ M9 A+ A+ ?) `2 ^
    #rdbcompression:是否使用压缩
$ \, z$ l4 I- ]   
3 I1 ?, ^# O& n9 T; s    rdbcompression yes4 h2 S/ S% g. N7 b8 o
    8 M/ t6 M: t7 g  ~
    #dbfilename:数据快照文件名(只是文件名,不包括目录)% {; r. |. j. t/ H/ k; W9 q4 R" q+ c& p
   
5 G3 E  s3 W* W- t8 n    dbfilename dump.rdb' w' u% Y' @  }. \4 n7 r% N" {6 `" r* e
    ' ~4 F& O' B2 [7 v" ~, w
    #dir:数据快照的保存目录(这个是目录)
5 d: F0 |- t* I3 W9 H0 w, ~   
8 s9 v+ u: E+ @0 R9 A! @. E, K7 E    dir /usr/local/redis/var! I7 q1 T: x- r2 f4 d
   
4 ^3 r; X" n9 y+ l# I, l0 `    ##aof1 d7 I! N. ^# E) Z
   
4 K8 W& Q( t- [: N2 D    #appendonly:是否开启appendonlylog,AOF是另一种持久化方式,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
( a9 x" \3 |& V   
( p" |# m" Z1 p" K  t2 J1 y9 x    appendonly no  f8 M& O/ Q+ D6 l2 Q
    6 \; k+ N2 k/ e7 z, E* f; H
    #appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步). b, {7 ]3 ]1 _! V
    % h, L9 S' ^3 {
    appendfsync everysec, o0 d( ~* Y; a
   
6 T7 y/ c$ d. u1 H    no-appendfsync-on-rewrite no
" `9 p9 E" N$ ]8 M: U   
- g" `  ?9 @' i; Y    auto-aof-rewrite-percentage 100
0 M# W  X8 v- i# k$ e   
9 X( J! M" {. e, o7 C! w! u; @* e    auto-aof-rewrite-min-size 64mb& m, t- l& [2 F) D: g
   
$ I9 ~0 R& Q$ x+ Y3 O; t. x$ A8 ?    ##slow log
0 b, P  P( h4 ~- R1 n    ) o9 _  l8 d) y( l
    #如果操作时间大于0.001秒,记录slow log,这个log是记录在内存中的,可以用redis-cli slowlog get 命令查看( s  W3 K) M+ E' [
   
) q% x) I2 b& D    slowlog-log-slower-than 10000) Z0 q& ~4 I) o* ?# W2 t' {: U
    . P$ }' @% k7 L
    #slow log 的最大长度
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:07:09 | 显示全部楼层

Linux系统管理:服务器/客户端安装与配置

slowlog-max-len 128& W- G9 G4 H' P2 C& ~0 s
   
6 |% L- r0 q; f2 S& W% h    ##virtual memory& x2 o  l2 n  L4 {
    & c5 [6 O6 F3 P  k9 P9 s
    #是否使用虚拟内存
4 H; i" f5 ?1 i9 W. F   
" n5 e* L3 G) w% v    vm-enabled no
1 s* j4 P: f  d6 W" e: w# c   
: x. c, k/ Z- b$ r) x    #swap文件,不同redis swap文件不能共享。而且生产环境下,不建议放在tmp目录。
! l' Y# ?  U& W   
% d2 R( f+ r7 R2 ~    vm-swap-file /tmp/redis.swap
+ E+ |% {) P' S4 k3 N   
4 Z. d% A2 ^# ]( T: S    #vm大小限制。0 不限制,建议60-80% 可用内存大小. h2 H6 S% c; E" ]% T
    + z" }- R1 X" T2 O, \# L6 o, e
    vm-max-memory 09 ?/ r. `7 X" \8 X/ v9 C
    ; b5 `  F" V; o0 Y
    #根据缓存内容大小调整,默认32字节
/ l6 Z4 f5 X; m9 f   
% J* F- v' M2 N9 x! l( ~    vm-page-size 32
3 Q) e( f: M3 D$ ]4 `# V    # n/ q& w/ q0 |! F" Y& b( D# b7 J
    #page数。每 8 page 会占用1字节内存
, R3 f' |, `+ t! V# I    % w, v$ ?/ n: ]0 V" C. B
    vm-pages 134217728
: N' F' b1 B4 H. o    $ h! p! Y# _6 r! W2 ?
    #m 最大io线程数。注意: 0 标志禁止使用vm(开关真多)4 t8 \) A: S6 F+ t" Z
    ! ^3 S/ ^7 d/ v  N- _2 O8 [: s/ z
    vm-max-threads 4
, j) {! c1 g3 |7 [/ @* w) D    8 c, _$ ]' S" I/ S2 ?
    #" A; p, ~, c9 }4 P9 v0 S
   
  I5 S! _: _  n+ y; y    hash-max-zipmap-entries 512/ g4 h0 v0 f1 ^% U* A/ f
   
9 S  ~/ w: w* B' M2 w$ m) E    hash-max-zipmap-value 64* i& ]) x+ L; a! k( D: F7 i
    : c5 [6 x+ |; z4 _
    #
+ |1 V# `5 L8 F7 P  ^8 g: l9 t) @    " Y& C0 c6 R, L) D% N# K0 P# d
    list-max-ziplist-entries 5128 w, F# x; z. f9 M' b! M
   
% ?8 g7 n6 }! B' {6 U( h- C    list-max-ziplist-value 647 {) j( t0 L& I  X8 }% L/ B
    ' D9 Y, q6 i% r; e
    set-max-intset-entries 512
7 n! U4 K  v* P' [9 M6 k% @+ }  E   
) K$ S" x) t6 T! Y0 l- J- N    zset-max-ziplist-entries 1287 x+ m1 f% C5 L- `
   
( K- w2 a; c' a    zset-max-ziplist-value 64
& K. o; F5 \' P! J* |6 v   
( s8 D5 i6 D5 Y: ~8 x& O: G: F  ~    activerehashing yes
6 v0 u6 J/ D! _; t   
! c! {. a0 |  f% r2 B3 g* o    ##limit
' D, K2 U# v2 b4 F9 S7 t$ d" H    % R7 n' h( T4 d8 p; ]  k0 k9 F7 j
    #最大使用内存单位,默认情况下redis会占用可用的所有内存' R8 [% u& C5 {, g
   
: [8 w# d" y) H- }    maxmemory 256000000& L2 o8 g3 x! w
   
; g) b& _; d* u# [0 z# I    #maxclients 最大连接数, 0 表示不限制6 a& J. j( X4 m& {) C
   
! e  z, M! S, _    maxclients 1024
$ v; [2 z! U  d( Z5 ?4 Q/ z; B    2 B! ]& _( s* t* n
    ##replication
9 I, I$ ^4 D9 h5 d1 d6 i* |2 W   
1 a& B  j4 ?( m9 G' P/ m4 E8 e' i    requirepass dongnan7 _- ]2 C( |3 S9 t
    4 q* r) X1 \' d2 c9 P
    #slave/ ~! G3 O8 ?2 k6 U! z
    2 ]$ Z9 a/ ~, E+ k
    #master的ip地址与端口号5 U1 o! A: v) B% P/ [
   
' _" _- o4 z2 n. h2 O& n" a6 q    #slaveof 10.0.100.70 6379
3 D7 N, v0 k1 i2 H4 H4 ?! Q. `      @0 f& G. J% Z% \, a
    #设置slave到master的认证8 q( e  B; t# a% V6 U7 H
   
2 \" R/ J6 a- d8 {    #masterauth dongnan' v8 I# ]! c6 y0 V# K
    ! U% r" B6 }9 {$ U* G
    #在master服务器挂掉或者同步失败时,从服务器是否继续提供服务( i5 L  e/ o' P
    + t8 I; B: e4 g" E
    slave-serve-stale-data yes
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:07:10 | 显示全部楼层

Linux系统管理:服务器/客户端安装与配置

EOF2 g. H$ m- R9 h8 J& {! K
   
2 Z8 }7 Y4 T6 a    1.5 启动redis6 S. y" J; P+ g3 k' Z
   
+ I+ B- T: a4 A    /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf. C( o5 V  f  d2 D* ?
    7 b" G* V) P5 q, X- m2 q
    //redis 进程与端口号: L; V3 u1 Z0 A) ^) p
   
! F4 @1 R9 g5 o: J( }% [6 F8 v    ps -ef | grep redis
; r1 f8 `# W& N0 n7 W    0 }$ l/ G% C8 o- |
    root     19426     1  0 13:44 ?        00:00:00 /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
. E8 @6 e# l4 L+ }$ v   
- L8 x9 i" Y4 e6 L& o1 D/ [    lsof -i :6379
  ?* j0 H' r& T. u    : w# ]) ^) h" M% M% b- G1 o
    COMMAND     PID USER   FD   TYPE  DEVICE SIZE NODE NAME
8 Z0 I: z  l* o3 p; L8 C    : F, X8 ~& j0 f1 v8 |- b
    redis-ser 19426 root    4u  IPv4 7257634       TCP *:6379 (LISTEN)
$ q* q3 k1 Q# S( h+ t   
  G4 ]9 N1 }9 w7 v    1.6 验证redis
* L/ k4 V# L% J7 o    8 n' E- y: O1 K0 N9 \* Y) Z
    telnet 10.0.100.70 6379
% d% M9 J) K; R# w% r2 z    , t& Z/ @' i+ F% z0 w5 W
    Trying 10.0.100.70…0 n6 e; A3 q; U4 v& T4 Z) j
    ; g1 d/ w- M0 Z7 p2 Q' D5 r
    Connected to monitor.test.com (10.0.100.70)。; c0 R$ s6 g7 s% _. ^0 N% m
    ( O$ m  S4 X2 k" I( D2 z
    Escape character is '^]'.
2 c! a% ^: n- j5 ?8 \) D   
- S1 ?( l7 z0 l- L: j$ b    set name test: R! w& @- c6 g$ ^' G, h* x
   
  C3 ^% N4 C& H( x. L( d2 X! ?( ~    +OK5 M9 v0 c4 Z2 l6 Q4 a# _8 T
   
7 v; A7 m8 N$ C7 c# J- _    get name
( B" @' m* z/ L    9 O) H  [3 p! X( j
    $4
. y' h/ W5 X" H& ^    2 ?1 W5 ?2 }4 O; x
    test
# v, u  ^" o: m" `+ l   
" @. q' @" x& V* K    quit
& W- o% F$ S% P  ~0 C; G    8 ]% G5 j0 P# A/ y' r5 D7 ]
    +OK6 n5 b2 x( R: l1 G" k# J! z
    8 q- X2 A+ a; Z. w% G
    Connection closed by foreign host.5 {2 M5 q( m7 ^" ~) p- L( k% Z
      c9 N. V6 U, m) n* x6 `- C0 y
    //使用redis-cli
3 m& F; F, v$ E9 @/ M, p, Y9 K4 q    3 ~* M) f, k7 J3 Y& \; O( b7 S
    /usr/local/redis/bin/redis-cli -h 10.0.100.70 info
. s) m7 `# ]3 u% {6 E    ) {2 u" b; C9 d7 ]  t5 r
    redis_version:2.4.15' ~  q( r4 Z6 C; v
    , u2 ~4 h" H8 {0 x: r1 ]
    redis_git_sha1:00000000
! u( G- T& n; |- w- f   
4 Y2 q# M/ d/ d" x  `# @9 N% x4 T    redis_git_dirty:06 K) o+ }4 d2 ^; _
    2 J8 \! `& _- p+ Q# y/ u
    arch_bits:64: ?- [. c0 x+ ^& f
    * u8 |7 Z: |2 z4 I, X
    multiplexing_api:epoll. b" l! Q0 @7 z# \
    7 n& V* Y: P: K5 E1 ]9 L2 P6 I2 d
    gcc_version:4.4.4( F) L, {# D3 H( N- c! I
    . b6 v4 b( g; j0 p
    process_id:16508/ [( e& M; v" h
    ' O& w' n; N" c9 v, n& \* ^: q
    uptime_in_seconds:6021100 n6 Y6 }( a- t2 u; G4 x7 ?7 t) {
   
% ^7 D0 M' K3 I+ ]  S    uptime_in_days:66 o2 b! i* G2 J+ Z* f( z
   
4 u1 s$ z4 G# \) s' v5 @- p) F    lru_clock:1948675
( p; z+ h2 l! l4 m* w0 ^- {   
" R1 @# ~) a) {$ t/ c    used_cpu_sys:129.20
# Q2 n% V3 `* e    1 L3 e. [$ l- s  J1 m+ {
    used_cpu_user:117.94
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:07:11 | 显示全部楼层

Linux系统管理:服务器/客户端安装与配置

used_cpu_sys_children:14.57$ K0 k! d# w: W$ o  {
   
3 S- G( W& \5 e+ g- k    used_cpu_user_children:158.95
6 }$ v2 h9 j9 M. f) D    3 ^  @% _9 Y; e* P
    connected_clients:1. ]7 u: w3 O& J* w: k1 P% i
   
6 S- k; Q5 s0 _+ t    connected_slaves:0
9 V5 w/ S& }2 N0 U! y: w2 _    , A* @. R: D5 S. e/ m
    client_longest_output_list:0
# _4 b8 M' K/ B" O2 O2 V# ]    ' `; k5 L6 `; k+ {
    client_biggest_input_buf:0
9 V6 m/ b) L# |+ C) B   
- P! d* N& I% f0 P& H- p3 k    blocked_clients:04 f8 M; V0 k; E0 _+ r) {4 w
   
/ J" w' F0 q) u7 |; L) a    used_memory:5949999921 ]5 P$ @' Q2 v' b2 F$ q/ [5 C
   
' g7 C- ~$ L# v  O& I% z    used_memory_human:567.44M
6 L" E# \0 w; F/ M* X( b    , Z$ L# \) v% V7 I+ a) ?
    used_memory_rss:172482560# H# [( y; i" w  y
    ; @) J0 B( a$ q2 M8 N! i4 N. J
    used_memory_peak:594999904) _: w( ^0 a! I1 I
   
6 b$ |& s  o* C. t0 i' w    used_memory_peak_human:567.44M9 P! F0 W* {6 {
    ! O& G( W, w' z) _' `8 |
    mem_fragmentation_ratio:0.29
$ I: H. o1 E7 G# Y8 N6 Y   
1 J' h% x( n4 R& O    mem_allocator:jemalloc-2.2.5# c$ Q( y, _$ A  Z4 ~" L4 G. H
    $ w5 l' ~- V& W1 d" T3 J
    loading:0* f6 p9 D1 W/ n3 m- B! k
   
4 S% D0 N4 N, S- }1 [1 z0 ?    aof_enabled:0
; V( N3 b, H9 ^% x  j$ I   
+ a; k% P) p7 K* ]& o    changes_since_last_save:0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-30 12:18 , Processed in 0.275435 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表