一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - Linux服務器安裝redis數據庫圖文教程

Linux服務器安裝redis數據庫圖文教程

2019-11-12 15:34AlanLee(Java) Redis

Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。這篇文章主要介紹了Linux服務器安裝redis數據庫圖文教程,需要的朋友可以參考下

這篇跟大家聊聊redis非關系型數據庫在Linux服務器的安裝。

redis簡單介紹

REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。

Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。

它通常被稱為數據結構服務器,因為值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。

一、在有外網情況下的安裝(外網的配置在linux分類的隨筆中有聊過)

第一步:安裝編譯工具,redis是有ANSI C語言編寫的,我們需要安裝編譯它的工具

命令:yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl

第二步:安裝tcl組件包,我們在安裝redis的時候是需要tcl腳本語言支持的

#選擇一個存放軟件包存放的地方,進入軟件包存放的目錄文件中

命令:cd /usr/local/src

#下載tcl組件包

命令:wget http://downloads.sourceforge.net/tcl/tcl8.6.6-src.tar.gz

#在當前目錄解壓tcl組件包

命令:tar zxvf tcl8.6.6-src.tar.gz

#進入解壓之后的安裝目錄文件

命令:cd tcl8.6.6

#配置tcl組件

命令:cd unix

命令:./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit)

#編譯

命令:make

#以選項中指定的script來處理輸入的文本文件

命令:sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" -i tclConfig.sh

#安裝

命令:make install

命令:make install-private-headers

#建立軟連接(好比windows中的快捷方式)

命令:ln -v -sf tclsh8.6 /usr/bin/tclsh

#修改執行文件權限

命令:chmod -v 755 /usr/lib/libtcl8.6.so

第三步:安裝Redis數據庫

#選擇一個存放軟件包存放的地方,進入軟件包存放的目錄文件中

命令:cd /usr/local/src

#下載redis數據庫軟件包

命令:wget http://download.redis.io/redis-stable.tar.gz

#解壓redis數據庫軟件包

命令:tar -zxvf redis-stable.tar.gz

#創建redis的安裝目錄文件

命令:mkdir /usr/local/redis

#移動文件到安裝目錄

命令:mv redis-stable /usr/local/redis

#進入安裝目錄

命令:cd /usr/local/redis

#編譯

命令:make

#安裝

命令:make install

#然后查看/usr/local/bin目錄下是否有redis的程序文件,如果沒有,則從redis-stable中拷貝redis的程序文件

命令:cd /usr/local/bin

命令:ls

#注意:假如沒有則拷貝

命令:cd /usr/local/redis/redis-stable
命令:mkdir -p /usr/local/bin

?
1
2
3
4
5
6
#復制操作
命令:cp -p redis-server /usr/local/bin
命令:cp -p redis-benchmark /usr/local/bin
命令:cp -p redis-cli /usr/local/bin
命令:cp -p redis-check-dump /usr/local/bin
命令:cp -p redis-check-aof /usr/local/bin

#給redis的配置文件創建一個軟連接(好比windows中的快捷方式)

命令:ln -s /usr/local/redis/redis-stable/redis.conf /etc/redis.conf

#編輯redis配置文件

命令:vi /etc/redis.conf

#設置后臺啟動redis(vim編輯器按i進入編輯模式,exit退出編輯模式進入命令模式)

daemonize yes

#強制保存退出

:wq!

#切換到/usr/local/bin目錄啟動redis服務(cd切換命令)

命令:redis-server /etc/redis.conf

#關閉redis服務

命令:redis-cli shutdown

#編輯,在最后一行添加下面代碼

命令:vi /etc/sysctl.conf

?
1
vm.overcommit_memory = 1

#強制保存退出

:wq!

#使設置立即生效

命令:sysctl -p

第四步:設置redis在linux服務器上開機啟動

#把redis工具中的初始化腳本拷貝到/etc/init.d/目錄文件中并重命名

命令:cd /usr/local/redis/redis-stable/utils/

命令:cpredis_init_script/etc/init.d/

命令:cd/etc/init.d/

命令:mvredis_init_script redis

#修改腳本執行權限

命令:chmod 755 /etc/init.d/redis

#添加開機啟動

命令:chkconfig --add redis

這時大家可能會遇到問題,就是無法將redis添加到開機啟動中,那么要怎么解決呢?

#編輯/etc/init.d/redis文件

命令:vi/etc/init.d/redis(i進入編輯模式,exit返回命令模式:wq!強制保存退出)

在最前面加上兩行注釋放在/etc/init.d/redis文件靠前的注釋中:

?
1
2
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database

Linux服務器安裝redis數據庫圖文教程

上面的注釋的意思是,redis服務必須在運行級2,3,4,5下被啟動或關閉,啟動的優先級是90,關閉的優先級是10。

#添加開機啟動

命令:chkconfig --add redis

#把redis在運行級別為2、3、4、5的情況下都是on(開啟)的狀態

命令:chkconfig –level redis 2345 on

#查看是否添加成功,列出所有的系統服務,查看里面是否有redis

命令:chkconfig --list

#關閉redis服務,啟動redis服務

命令:service redis stop

命令:service redis start

最后一步:測試redis是否已經成功啟動服務

#查看本機ip地址

Linux服務器安裝redis數據庫圖文教程

#使用第三方jar包jedis在本地的java應用程序中進行測試

Linux服務器安裝redis數據庫圖文教程

我相信很多人,在執行的時候肯定會不通過,比如連接超時之類的,這是為什么呢?讓我們一一來解決:

1.查看redis配置文件,并排查問題,編輯之后保存

命令:vi /etc/redis.conf

第一個可能存在的問題,ip被綁定了,其他ip無法訪問:

Linux服務器安裝redis數據庫圖文教程

將綁定ip這個屬性注釋掉,繼續排查,還有一個可能存在的問題,開啟了保護模式:

Linux服務器安裝redis數據庫圖文教程

將它從yes改為no,然后執行java程序測試,很多人可能還是會遇到類似的錯誤,比如:

Linux服務器安裝redis數據庫圖文教程

經過前面的操作,我們可以確定redis服務是啟動的,ip端口的設置也是正確的,保護模式也被我們關了,還不能訪問,那很大可能就是Linux防火墻導致其他電腦無法訪問redis的6379端口了,我們現在windows上測試一下,通過cmd打開命令窗口,telnet命令如果不能使用,自己百度一下開啟。

命令:telnet 192.168.0.21 6379

如果很久都沒反應,或者出現了錯誤,則需要在Linux服務器上關掉防火墻或者添加此端口允許被訪問。

#通過root用戶登錄Linux服務器,執行命令開啟端口

命令:/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

然后再執行Java應用程序測試一波,基本上就沒什么問題了,也能得到像上面那樣的正確的結果。

二、在沒有外網情況下的安裝,假設此時只有局域網怎么辦

第一步:將Linux服務器對應的鏡像文件掛載到/mnt目錄文件下

比如:mount -o loop /data/downloads/redhat/rhel-server-6.5-x86_64-dvd.iso /mnt

#鏡像文件包中包含了大多數玩轉Linux所需的軟件

cd /mnt/Packages

第二步:安裝gcc編譯工具,相關安裝包從centos6.6.iso鏡像文件的package包中獲取

執行以下的命令:

?
1
2
3
4
5
6
7
8
9
10
11
rpm -ivh mpfr-2.4.1-6.el6.i686.rpm 回車
rpm -ivh cpp-4.4.6-4.el6.i686.rpm 回車
rpm -ivh kernel-headers-2.6.32-279.el6.i686.rpm 回車
rpm -ivh glibc-headers-2.12-1.80.el6.i686.rpm 回車
rpm -ivh glibc-devel-2.12-1.80.el6.i686.rpm 回車
rpm -ivh libgomp-4.4.6-4.el6.i686.rpm 回車
rpm -ivh ppl-0.10.2-11.el6.i686.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.i686.rpm 回車
rpm -ivh gcc-4.4.6-4.el6.i686.rpm 回車
rpm -ivh libstdc++-devel-4.4.7-11.el6.x86_64.rpm 回車
rpm -ivh gcc-c++-4.4.6-4.el6.i686.rpm 回車

如果error: Failed dependencies: cpp = 4.4.7-4.el6 is needed by gcc-4.4.7-4.el6.x86_64

安裝gcc及其他依賴包的時候,加上參數 --force --nodeps

例如:

?
1
2
3
4
5
rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm --nodeps --force
#rpm卸載命令
rpm -e --nodeps gcc-4.4.7-4.el6.x86_64
#卸載掛載的資源
umount /mnt

第三步,將下載好的tcl組件包安裝到Linux服務器中

將文件copy到 /usr/local/src 目錄下(隨意目錄)

?
1
2
3
4
5
6
chmod 777 tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz
cd tcl8.6.1/nuix
./configure 或者 ./configure --prefix=/usr/local/tcl8.6.1/ --enable-shared
make
make install

第四步:將下載好的redis數據庫安裝包安裝到Linux服務器中

將文件copy到 /usr/local/src 目錄下(隨意目錄)

?
1
2
3
4
5
6
chmod 777 redis-2.8.8.tar.gz
tar xzf redis-2.8.8.tar.gz
cd redis-2.8.8
make MALLOC=libc
make test
make install

后面這種方式就大概給大家提個思路,你完全可以自己結合上面詳細的在線安裝的方式去實現沒有外網時候的安裝,這里主要的區別就是沒有外網的時候gcc編譯工具可以從掛載的ios鏡像中去獲取,然后所有的安裝包都是已經下載好的,需要自己上傳到Linux服務器中,上傳的方式可以參考上一篇隨筆Linux服務器安裝JDK運行環境教程。

 

結束語:不驚擾別人的寧靜,就是慈悲; 不傷害別人的自尊,就是善良。 人活著,發自己的光就好,不要吹滅別人的燈。

 

延伸 · 閱讀

精彩推薦
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
主站蜘蛛池模板: 国产欧美另类久久精品91 | 国语视频高清在线观看 | 国内精品国语自产拍在线观看55 | 久久毛片基地 | 午夜亚洲福利 | 精品一区二区三区五区六区七区 | 草β好视频 | 亚洲免费在线观看视频 | 日韩毛片高清在线看 | 娇妻被又大又粗又长又硬好爽 | 国产一区二区三区欧美精品 | 92在线视频 | 精品破处 | 亚洲国产精品一区二区久久 | 四虎在线精品观看免费 | 华人亚洲欧美精品国产 | 日本www视频在线观看 | 操破苍穹在线 | 国偷盗摄自产福利一区在线 | 亚洲第一人黄所 | 999久久免费高清热精品 | 91精品国产综合久久消防器材 | 91碰碰| 国产99精品免费视频看6 | 国产一区二区三区免费在线视频 | 国产综合视频在线 | 羞羞影院午夜男女爽爽影院网站 | 国产精品久久久久久爽爽爽 | 性一交一无一伦一精一品 | chinese帅男gay野外性 | 男人天堂网在线 | 草草视频在线观看最新 | 毛片免费毛片一级jjj毛片 | jj视频免费 | 亚洲、国产综合视频 | 毛片在线免费视频 | 搓光美女衣 | 97色伦 | 精品99在线观看 | 午夜国产在线视频 | 农村妇女野战bbxxx农村妇女 |