redis源碼安裝

來源:互聯網
上載者:User

標籤:


#安裝目錄

mkdir -p /data/apps/rediscd /data/tgzwget http://download.redis.io/releases/redis-3.2.1.tar.gzcd redis-3.2.1make PREFIX=/data/apps/redis install #安裝到指定目錄中

 

#在安裝redis成功後,你將可以在/data/apps/redis看到一個bin的目錄,裡麵包括了以下檔案:

redis-benchmarkredis-check-aofredis-check-dumpredis-cli redis-server

 

redis-server:Redis伺服器的daemon啟動程式
redis-cli:Redis命令列操作工具。或者通過telnet進行純文字協議操作
redis-benchmark:Redis效能測試工具,測試Redis在你的系統及你的配置下的讀寫效能

#將redis做成一個服務
#必須將其複製到/etc/rc.d/init.d的目錄下,將redis_init_script複製到/etc/rc.d/init.d/,同時易名為redis。

cp /data/tgz/redis-3.2.1/utils/redis_init_script /etc/rc.d/init.d/redis

 

#如果這時添加註冊服務:
chkconfig --add redis
#將報以下錯誤:
redis服務不支援chkconfig
#為此,我們需要更改redis指令碼。

vim /etc/rc.d/init.d/redis#!/bin/sh #chkconfig: 2345 80 90 #添加這一行#同時修改EXEC=/data/apps/redis/bin/redis-serverCLIEXEC=/data/apps/redis/bin/redis-cli

 


#將redis設定檔拷貝到/etc/redis/${REDISPORT}.conf

mkdir /etc/rediscp /data/tgz/redis-3.0.7/redis.conf /etc/redis/6379.confcp /data/tgz/redis-3.0.7/redis.conf /data/apps/redis/bin/redis.conf

 


redis配置密碼,尤為重要
去掉行前的注釋,並修改密碼為所需的密碼,儲存檔案

#requirepass foobared requirepass mypasswd

由於未設定密碼引起的問題:

#安全起見,密碼必須設定,否則容易遭受攻擊,具體請見以下部落格:
redis未授權訪問缺陷
http://my.oschina.net/huihua/blog/697300
http://blog.csdn.net/u010391029/article/details/51711185
http://www.th7.cn/db/nosql/201606/193670.shtml
http://www.tuicool.com/articles/bMFbIzU
http://my.oschina.net/huihua/blog/697300
解決方案
http://blog.csdn.net/fgf00/article/details/51388422
http://www.8090st.com/linux-bingdu-kill.html
http://www.ipastimes.com/post/86.html

redis安全設定
https://ruby-china.org/topics/28094
http://blog.csdn.net/21aspnet/article/details/50578668
http://blog.csdn.net/hel12he/article/details/46911159
http://www.111cn.net/sys/centos/85890.htm
https://www.phpxun.com/post/136.html
http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/
http://www.ctohome.com/FuWuQi/33/627.html

 


redis的持久化有rdb和aof兩種。
rdb是記錄一段時間內的操作,一盤的配置是一段時間內操作超過多少次就持久化。
aof可以實現每次操作都持久化。
這裡我們使用aof。

配置方式,開啟redis的設定檔。找到appendonly。預設是appendonly no。改成appendonly yes。

 

redis.conf參數,具體參考博文:

http://www.cnblogs.com/joshua317/p/5635297.html


daemonize:是否以後台daemon方式運行
pidfile:pid檔案位置
port:監聽的連接埠號碼
timeout:請求逾時時間
loglevel:log資訊層級
logfile:log檔案位置
databases:開啟資料庫的數量
save * *:儲存快照的頻率,第一個*表示多長時間(秒級),第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動儲存快照。可設定多個條件。
rdbcompression:是否使用壓縮
dbfilename:資料快照檔案名稱(只是檔案名稱,不包括目錄)
dir:資料快照的儲存目錄(這個是目錄)
appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高資料抗風險能力,但影響效率。
appendfsync:appendonlylog如何同步到磁碟(三個選項,分別是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)
slaveof :主從配置,在redis-slave上配置master的ip port,即可


這樣,redis服務指令碼指定的CONF就存在了。預設情況下,Redis未啟用認證,可以通過開啟6379.conf的requirepass 指定一個驗證密碼。

#註冊redis服務:

chkconfig --add redischkconfig redis on

 

將Redis的命令所在目錄添加到系統參數PATH中
vi /etc/profile
在最後行追加:
export PATH="$PATH:/data/apps/redis/bin"

然後馬上應用這個檔案:
./etc/profile
或者
source /etc/profile

這樣就可以直接調用redis-cli的命令了,如下所示:
redis-cli
redis 127.0.0.1:6379> auth mypasswd
OK
redis 127.0.0.1:6379>

 

#啟動redis服務

#1.直接啟動

./redis-server ./redis.conf &

#如果更改了連接埠,使用`redis-cli`用戶端串連時,也需要指定連接埠,例如:

redis-cli -p 6380

#2 使用Redis啟動指令碼設定開機自啟動(推薦)

service redisd start

#關閉redis

./redis-cli -a mypasswd save#或者使用bgsave命令

#關閉

redis-cli shutdown
#因為Redis可以妥善處理SIGTERM訊號,所以直接kill -9也是可以的
kill -9 PID
#指定密碼關閉
/data/apps/redis/bin/redis-cli -a mypasswd shutdown

redis源碼安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.