1. linux閲嶆柊鍚鍔╮edislinux鐨剅edis鍚鍔
redis濡備綍閲嶅惎?linux涓嬭瘋緭鍏ュ懡浠や笉瑕佺敤kill鐨勬柟寮忥紵
1銆佸傛灉鏄鐢╝pt-get鎴栬厃uminstall瀹夎呯殑redis錛屽彲浠ョ洿鎺ラ氳繃涓嬮潰鐨勫懡浠ゅ仠姝/鍚鍔/閲嶅惎redis錛/etc/init.d/redis-serverstop/etc/init.d/redis-serverstart/etc/init.d/redis-serverrestart
2銆佸傛灉鏄閫氳繃婧愮爜瀹夎呯殑redis錛屽垯鍙浠ラ氳繃redis鐨勫㈡埛絝紼嬪簭redis-cli鐨剆hutdown鍛戒護鏉ラ噸鍚痳edis銆
redis闆嗙兢濡備綍瑙e喅閲嶅惎涓嶄簡鐨勯棶棰
redis浣跨敤闆嗙兢閮ㄧ講錛屽傛灉閬囧埌鏂鐢墊垨鑰呮湇鍔″櫒閲嶅惎錛屽綋鍐嶆″惎鍔ㄧ殑鏃跺欙紝鏈夋椂鍊欎細鍚鍔ㄤ笉浜嗐傞渶瑕佷嬌鐢╰rib鐨刦ix鍛戒護榪涜屼慨澶嶃傚傛灉淇澶嶈繕鏄涓嶈岀殑璇濓紝鍙浠ユ竻闄よ妭鐐規暟鎹鍐嶉噸鏂板緩闆嗙兢錛屽墠鎻愯佸囦喚涔嬪悗鎿嶄綔銆
1銆佷嬌鐢╮edis-cli榪炴帴涓妑edis鍏朵腑涓鍙幫細redis-cli-c-hxxx-p7001錛岃緭鍏clusterinfo鏌ョ湅褰撳墠闆嗙兢鐨勭姸鎬併
2銆佸彲浠ヤ嬌鐢╰rib鐨刢heck媯嫻嬬殑闆嗙兢鐘舵侊細redis-trib.rbcheckxxx:7001錛孨銆
linux涓璬ockers瀹瑰櫒鎶鏈浠嬬粛錛
linux涓璬ockers瀹瑰櫒鎶鏈鍏跺疄灝辨槸綆$悊鐔婇泟璧風殑寮曟搸錛屾槸搴旂敤鎵撳寘閮ㄧ講騫沖彴錛屽彲浠ヤ負鏁版嵁杞浠剁殑搴旂敤鎻愪緵鍩虹銆
浠涔堟槸docker錛
Docker灝卞ソ姣斾紶緇熺殑璐ц繍闆嗚呯
Docker鏄綆$悊瀹瑰櫒鐨勫紩鎿
Docker涓哄簲鐢ㄦ墦鍖呴儴緗插鉤鍙幫紝鑰岄潪鍗曠函鐨勮櫄鎷熷寲鎶鏈
SaaS(app錛屼簯鐩橈紝寰搴楋紝緗戠珯)PaaS(redis,nysql,nginx)鏄鍩轟簬Docker鐨勪簯騫沖彴
VMVSContainer
?
鍏充簬鉶氭嫙鏈
virsh 鍛戒護綆$悊
virt_manager 鍥懼艦鍖栫$悊
libvirtd 涓涓綆$悊鎺ュ彛
qemu-kvm(cpu/mem) 瀹屽叏鉶氭嫙鍖
濡傛灉鍋滄帀libvirtd
systemctlstoplibvirtd
1
1
綆$悊鍖栧懡浠や笉鑳藉伐浣滐紝浣嗘槸鉶氭嫙鏈轟緷鐒跺瓨鍦錛屼緷鐒跺伐浣
瀹瑰櫒
瀹瑰櫒鍜岀墿鐞嗘満鍏變韓鍐呮牳鍜屼竴浜涢噸瑕佺殑鏂囦歡緋葷粺
姣旇櫄鎷熸満鏇村皬錛屾洿杞
浼犵粺鉶氭嫙鏈哄拰瀹瑰櫒鎶鏈瀵規瘮
?
瀹瑰櫒鏄濡備綍宸ヤ綔鐨
?
鍒涘緩涓涓瀹瑰櫒
?
yuminstallwget-y
cd/etc/yum.repos.d/
wgethttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
2
3
1
2
3
?
瑕佽В鍐充緷璧栨
鍦ㄩ樋閲屼簯騫沖彴涓嬭澆
鐒跺悗涓嬭澆鐨勫寘鍜宺hel7.6yum婧愰噷鐨勫寘涓璧瘋В鍐充緷璧栨
yuminstalldocker-cecontainer-selinux-2.77-1.el7.noarch.rpm-y
systemctlstartdocker
1
2
1
2
娉ㄦ剰錛歞ocker鍚鍔ㄥ墠鍏抽棴闃茬伀澧欏拰鍏抽棴selinux
dockerinfo鏌ョ湅瀹瑰櫒淇℃伅
1
1
鍙戠幇鏈変袱涓璀﹀憡
瑙e喅錛
sysctl-a|grepbridge-nf-call-iptables
vim/etc/sysctl.d/bridge.conf
1
2
1
2
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
sysctl--system鐢熸晥
1
2
3
1
2
3
鎵鏈夌殑瀹瑰櫒鏁版嵁閮藉湪/var/lib/docker閲岄潰
?
濡傛灉鎯寵佺敤鏅閫氱敤鎴峰仛docker闇瑕佺粰榪欎釜鏂囦歡緇欐潈闄
yuminstallbash-*-y涓轟簡table琛ラ綈鍛戒護
1
1
鐢ㄥ瑰櫒閮ㄧ講涓涓猲ginx鏈嶅姟
涓鑸鎷夊彇澶鎱錛岃劇疆涓涓鍔犻熷櫒
?
cd/etc/docker/
vimdaemon.json
systemctldaemon-reload
systemctlrestartdocker
1
2
3
4
1
2
3
4
dockersearchnginx瀵繪壘闀滃儚
dockerpullnginx鎷夊彇闀滃儚錛堜竴鑸浠ユ湇鍔″悕鐨勬槸瀹樻柟鎻愪緵鐨勶級
dockerrun-d--namenginxnginx閮ㄧ講瀹瑰櫒
dockerps
1
2
3
4
1
2
3
4
?
dockerinspectnginx鏌ョ湅nginx瀹瑰櫒淇℃伅
1
1
?
鐢╥paddrshow鍛戒護鏌ョ湅妗ユ帴鍒癲ocker0
yuminstallbridge-utils妗ユ帴鍛戒護
brctlshow
1
2
1
2
?
nginx閮ㄧ講鎴愬姛
?
姝ゆ椂錛宯ginx鍙鑳藉唴閮ㄨ塊棶
濡傛灉闇瑕佸栭儴璁塊棶錛屽垯鍒犳帀鍘焠ginx瀹瑰櫒錛岀敤絝鍙f槧灝勯儴緗瞡ginx
-d:鎵撳叆鍚庡彴
-p80:80:80鏄犲皠80絝鍙
dockerrun-d--namenginx-p80:80nginx
1
1
nginxhistorynginx:latest鏌ョ湅nginx闀滃儚淇℃伅
iptables-tnat-nL
1
2
1
2
璁塊棶鏈鏈鴻漿鍙戝埌172.17.0.2:80涓婂幓
?
鐢╬sax鎴杢op鎴杗etstat-antlp鏌ョ湅docker灝辨槸涓榪涚▼
緗戦〉璁塊棶鉶氭嫙鏈篿p鍙浠ョ湅鍒皀ginx鏈嶅姟銆
濡備綍鍦╨inux涓嬮摼鎺ヨ繙紼媟edis錛
鍦≧edis鐩褰曚笅寮鍚疪edis榪欎釜紿楀彛灝變笉鑳界戶緇鎿嶄綔浜唖cr/redis-server鍙﹀紑鍚涓涓鍛戒護琛岀獥鍙h繘鍏Redis鐩褰曞彲浠ヨ繘琛屾祴璇晄rc/redis-cliquit鍙浠ラ鍑哄綋鍓峜lient
2. linux 怎樣安裝redis
獲取Redis
1、通過官網http://redis.io/獲取穩定版源碼包下載地址;
2、通過wget http://download.redis.io/releases/redis-3.0.2.tar.gz下載 源碼包;
2
編譯安裝Redis
1、解壓源碼安裝包,通過tar -xvf redis-3.0.2.tar.gz解壓源碼,速度相當快;
2、進入解壓後的目錄,執行make編譯源碼;
make命令執行完成後,會在src目錄下生成6個可執行文件,分別是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-mp、redis-sentinel。
3、執行make install安裝,或者通過make PREFIX=/usr/local/redis install指定安裝目錄。這里默認安裝,默認將之前生成的可執行文件拷貝到/usr/local/bin目錄下;
END
配置運行
修改配置文件
1、將源碼目錄下redis配置文件redis.conf拷貝到/etc/redis目錄下。
2、修改配置項,根據需要;如果不修改,使用默認配置也可以;
啟動服務:
查看埠是否被佔用:netstat
–ntlp
|grep 6379
方式一:通過命令redis-server 啟動,可在命令後加上`&`號使redis以後台程序方式運行;
方式二:通過指定配置文件啟動;redis-server /etc/redis/redis.conf
默認安裝的路徑已經加入環境變數中,可直接在命令行執行命令;
命令客戶端檢測鏈接
1、連接之前可以先檢測服務是否啟動;
2、測試啟動 redis-cli ping 返回PONG,啟動成功。
停止Redis:
關閉服務
redis-cli shutdown
如果非默認埠,可指定埠:
redis-cli -p 6380 shutdown
簡單操作:
1、兩種連接方式:
1:window DOS方式:tentel主機IP埠號(默認為127.0.0.1:6379)
2:linux客戶端方式:redis-cli 主機IP 埠號(默認為127.0.0.1 6379)
2、命令行操作:
#redis-cli
redis 127.0.0.1:6379> set name clj
OK
redis 127.0.0.1:6379> get name
"clj"
3. redis 如何重啟 linux下請輸入命令不要用kill 的方式
當需要重啟Linux下的Redis時,根據安裝方式不同,有不同的操作方法。如果是通過包管理器(如apt-get或yum)安裝的Redis,可以通過執行以下命令來實現服務的停止、啟動和重啟:
<pre>/etc/init.d/redis-server stop</pre><pre>/etc/init.d/redis-server start</pre><pre>/etc/init.d/redis-server restart</pre>
而對於源碼編譯安裝的Redis,可以使用redis-cli客戶端的shutdown命令來重啟服務:
<pre>redis-cli shutdown</pre>
在Redis集群部署中,遇到重啟問題時,可能需要特定步驟來解決。例如,當伺服器重啟後集群無法啟動,可以嘗試使用trib命令進行修復。首先,通過redis-cli連接集群任一節點,執行:
<pre>redis-cli -c -h xxx -p 7001 cluster info</pre>
如果集群狀態不正常,比如節點覆蓋不全,可以使用trib check檢查並可能使用trib fix進行修復。如果以上方法都無效,可能需要先停止服務,刪除相關文件(如aof、rdb和nodes文件)並備份,然後刪除後重啟節點,並重新創建集群,命令如下:
<pre>***.rb create --replicas 1 xxx:7000 xxx:7001 xxx:7002 ... xxx:7005</pre>
最後,確認集群已成功創建並連接redis,確認服務已經啟動。
4. linux上怎麼配置redis的aof持久化
Redis 持久化和配置文件
Reids 持久化
Redis提供了兩種持久化的方式,分別是RDB(Redis DataBase)和AOF(Append Only File)。
RDB,簡而言之,就是在不同的時間點,將redis存儲的數據生成快照並存儲到磁碟等介質上。
AOF,則是換了一個角度來實現持久化,那就是將redis執行過的所有寫指令記錄下來,在下次redis重新啟動時,只要把這些寫指令從前到後再重復執行一遍,就可以實現數據恢復了。
其實RDB和AOF兩種方式也可以同時使用,在這種情況下,如果redis重啟的話,則會優先採用AOF方式來進行數據恢復,這是因為AOF方式的數據恢復完整度更高。
如果你沒有數據持久化的需求,也完全可以關閉RDB和AOF方式,這樣的話,redis將變成一個純內存資料庫,就像memcache一樣。
redis配置文件
daemonize no # 默認情況下,redis並不是以daemon形式來運行的。通過daemonize配置項可以控制redis的運行形式
pidfile /path/to/redis.pid #當以daemon形式運行時,redis會生成一個pid文件,默認會生成在/var/run/redis.pid
bind 192.168.1.2 10.8.4.2 # 指定綁定的ip,可以有多個
port 6379 #指定監聽埠
unixsocket /tmp/redis.sock #也可以監聽socket
unixsocketperm 755 #當監聽socket時可以指定許可權為755
timeout 0 #當一個redis-client一直沒有請求發向server端,那麼server端有權主動關閉這個連接,可以通過timeout來設置「空閑超時時限」,0表示永不關閉。
Redis通用配置
tcp-keepalive0 #TCP連接保活策略,可以通過tcp-keepalive配置項來進行設置,單位為秒,假如設置為60秒,則server端會每60秒向連接空閑的客戶端發起一次ACK請求,以檢查客戶端是否已經掛掉,對於無響應的客戶端則會關閉其連接。如果設置為0,則不會進行保活檢測。
loglevelnotice #日誌級別,有四種debug, verbose, notice, warning
logfile「」 #定義日誌路徑,
syslog-identredis #如果希望日誌列印到syslog中,通過syslog-enabled來控制。另外,syslog-ident還可以讓你指定syslog里的日誌標志。
syslog-facility local0 #指定syslog的設備,可以是USER或者local0-local7
databases 16 #設置資料庫的總數量
Redis快照配置(rdb持久化)
save 900 1 #表示每15分鍾且至少有1個key改變,就觸發一次持久化
save 300 10 #表示每5分鍾且至少有10個key改變,就觸發一次持久化
save 60 10000 #表示每60秒至少有10000個key改變,就觸發一次持久
save 「」 #這樣可以禁用rdb持久化
stop-writes-on-bgsave-error yes #rdb持久化寫入磁碟避免不了會出現失敗的情況,默認一旦出現失敗,redis會馬上停止寫操作。如果你覺得無所謂,那就可以使用該選項關閉這個功能。
rdbcompressionyes #是否要壓縮
rdbchecksumyes #是否進行數據校驗
dbfilenamemp.rdb #定義快照文件的名字
dir ./ #定義快照文件儲存路勁
Redis安全相關配置
requirepassaminglinux
#設置redis-server的密碼
rename-command CONFIG aminglinux.config
#將CONFIG命令更名為aminglinux.config,這樣可以避免誤操作,但如果使用了AOF持久化,建議不要啟用該功能
rename-command CONFIG 「」
#也可以後面定義為空,這樣就禁掉了該CONFIG命令
Redis限制相關配置
maxclients10000 #限制最大客戶端連接數
maxmemory<bytes> #設定最大內存使用數,單位是byte
maxmemory-policy volatile-lru#指定內存移除規則
maxmemory-samples 3 #LRU演算法和最小TTL演算法都並非是精確的演算法,而是估算值。所以你可以設置樣本的大小。假如redis默認會檢查三個key並選擇其中LRU的那個,那麼你可以改變這個key樣本的數量。
Redis AOF持久化相關配置
appendonlyno #如果是no,則開啟aof持久化
appendfilename「appendonly.aof」 #指定aof文件名字
appendfsynceverysec#指定fsync()調用模式,有三種no(不調用fsync),always(每次寫都會調用fsync),everysec(每秒鍾調用一次fsync)。第一種最快,第二種數據最安全,但性能會差一些,第三種為這種方案,默認為第三種。
no-appendfsync-on-rewrite no #使用no,可以避免當寫入量非常大時的磁碟io阻塞
auto-aof-rewrite-percentage 10 #規定什麼情況下會觸發aof重寫。該值為一個比例,10表示當aof文件增幅達到10%時則會觸發重寫機制。
auto-aof-rewrite-min-size 64mb #重寫會有一個條件,就是不能低於64Mb
Redis 慢日誌相關配置
針對慢日誌,你可以設置兩個參數,一個是執行時長,單位是微秒,另一個是慢日誌的長度。當一個新的命令被寫入日誌時,最老的一條會從命令日誌隊列中被移除。