阿里云服务器 搭建单体redis 以及踩坑
在搭建阿里云服務(wù)器的過(guò)程中,踩坑很多,特寫此文;
?
簡(jiǎn)介
Redis是一個(gè)開源(BSD許可),內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),用作數(shù)據(jù)庫(kù),緩存和消息代理。它支持?jǐn)?shù)據(jù)結(jié)構(gòu),如字符串,散列,列表,集合,帶有范圍查詢的排序集,位圖,超級(jí)日志,具有半徑查詢和流的地理空間索引。Redis具有內(nèi)置復(fù)制,Lua腳本,LRU驅(qū)逐,事務(wù)和不同級(jí)別的磁盤持久性,并通過(guò)Redis Sentinel提供高可用性并使用Redis Cluster自動(dòng)分區(qū)。(以上部分來(lái)自redis官網(wǎng))
安裝
安裝依賴
yum install gcc-c++ -y創(chuàng)建安裝目錄、編譯、安裝
下載地址
wget http://download.redis.io/releases/redis-5.0.5.tar.gz # -p 確保目錄名稱存在,不存在的就建一個(gè) mkdir -p /home/software/redis # -z:有g(shù)zip屬性的,-x:解壓,-v:顯示所有過(guò)程,-f: 使用檔案名字,切記,這個(gè)參數(shù)是最后一個(gè)參數(shù),后面只能接檔案名 tar zxvf redis-3.0.6.tar.gz cd redis-3.0.6 # make是用來(lái)編譯的,它從Makefile中讀取指令,然后編譯 # make install是用來(lái)安裝的,它也從Makefile中讀取指令,安裝到指定的位置 PREFIX選定要安裝得目錄 make && make PREFIX=/home/software/redis install?
:set number ?
顯示行數(shù)
-
1、daemonize介紹
- A、redis.conf配置文件中daemonize守護(hù)線程,默認(rèn)是NO。
- B、daemonize是用來(lái)指定redis是否要用守護(hù)線程的方式啟動(dòng)。
-
2、daemonize 設(shè)置yes或者no區(qū)別
- daemonize:yes:redis采用的是單進(jìn)程多線程的模式。當(dāng)redis.conf中選項(xiàng)daemonize設(shè)置成yes時(shí),代表開啟守護(hù)進(jìn)程模式。在該模式下,redis會(huì)在后臺(tái)運(yùn)行,并將進(jìn)程pid號(hào)寫入至redis.conf選項(xiàng)pidfile設(shè)置的文件中,此時(shí)redis將一直運(yùn)行,除非手動(dòng)kill該進(jìn)程。
- daemonize:no: 當(dāng)daemonize選項(xiàng)設(shè)置成no時(shí),當(dāng)前界面將進(jìn)入redis的命令行界面,exit強(qiáng)制退出或者關(guān)閉連接工具(putty,xshell等)都會(huì)導(dǎo)致redis進(jìn)程退出。
- ?
復(fù)制配置文件、啟動(dòng)
cd redis-5.0.5/ cp redis.conf /home/software/redis/bin修改/usr/local/redis/bin/redis.conf (以下修改都是基于redis5.0.5 其他版本redis可能有出入)
使用vim編輯器 輸入 : set number 顯示行數(shù)(前提是你已經(jīng)安裝了vim)
# 是否作為守護(hù)線程,Redis將在/var/run/ Redis中寫入pid文件。當(dāng)監(jiān)控pid
在136行
daemonize yes如需修改實(shí)例數(shù)量
在186行
databases 32注釋綁定ip,可以連接到redis得ip
#bind 127.0.0.1添加訪問(wèn)密碼
在507行
requirepass redis啟動(dòng)
切換到安裝目錄下得bin目錄
執(zhí)行命令,這個(gè)配置文件是我們剛剛從解壓目錄里拷貝過(guò)來(lái)的
./redis-server redis.conf查看進(jìn)程
ps -ef | grep redis?
!!!!等等,小伙伴們有話說(shuō),我需要的是一個(gè)外網(wǎng)可以訪問(wèn)的redis,那么還需要很多配置;
首先 阿里云服務(wù)器的安全組的端口開放:6379或者你配置的redis端口,很重要,本次我就在這里浪費(fèi)了很多時(shí)間。
?
?
其次,還有服務(wù)器的防火墻配置;需要把Redis的端口,添加到防火墻配置規(guī)則里面去。
正確的命令是?
?/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
查看防火墻狀態(tài)
?/etc/init.d/iptables status
防火墻的幫助命令
?/etc/init.d/iptables --help
防火墻停止
/etc/rc.d/init.d/iptables stop
防火墻重啟
/etc/rc.d/init.d/iptables restart
?
最后,ps -ef|grep redis
kill -9 XX(pid)
?./redis-server redis.conf &
?
?
--------------------------------------------------------------------------以下內(nèi)容僅供參考-----------------------------------------------------------
可以使用,優(yōu)化IO
?sysctl -w net.ipv4.tcp_timestamps=1
?sysctl -w net.ipv4.tcp_tw_recycle=1?
修改redis的配置文件,將所有bind信息全部屏蔽。
| 1 2 3 4 5 | # bind 192.168.1.100 10.0.0.1 ? # bind 192.168.1.8 ? # bind 127.0.0.1 |
修改完成后,需要重新啟動(dòng)redis服務(wù)。
| 1 | redis-server redis.conf & |
如果iptables 沒(méi)有開啟6379端口,用這個(gè)方法開啟端口
| 1 2 3 | 命令:/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT ? 保存防火墻修改命令:/etc/rc.d/init.d/iptables save |
?
通過(guò)iptables 允許指定的外網(wǎng)ip訪問(wèn)
修改?Linux?的防火墻(iptables),開啟你的redis服務(wù)端口,默認(rèn)是6379。
| 1 2 3 4 | //只允許127.0.0.1訪問(wèn)6379 iptables -A INPUT -s 127.0.0.1 -p tcp --dport 6379 -j ACCEPT //其他ip訪問(wèn)全部拒絕 iptables -A INPUT -p TCP --dport 6379 -j REJECT |
未配置拒絕前
?
測(cè)試連接
這里我使用了一個(gè)連接的客戶端,需要的留言
點(diǎn)擊ok
至此,我們就成功安裝了redis。如果有小伙伴在安裝的過(guò)程中遇到問(wèn)題,可以在評(píng)論區(qū)里留言
超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的阿里云服务器 搭建单体redis 以及踩坑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mavenspringboot配置不同p
- 下一篇: oracle 批量插入