從零開始構建支援TLS1.2的Web伺服器Linux版(六)選裝-Redis(src安裝方式)
博文目錄
下載Redis
從Redis官網,下載所需版本的Redis,當前最新版本為Redis 4.0.1
通過wget
直接下載到伺服器:
[[email protected]_195_229_centos setup]# wget http://download.redis.io/releases/redis-4.0.1.tar.gz
解壓->編譯->安裝
- 解壓:
# tar -zxvf redis-4.0.1.tar.gz
編譯:
make
[[email protected]_195_229_centos setup]# cd redis-4.0.1/
因為在編譯時提示
make[3]: gcc: Command not found
,所以需要先安裝一下gcc,簡單粗暴,使用yum install gcc
。
順帶把tcl
也安裝了吧,編譯也是需要的,如果已安裝,也不會有影響yum install tcl
。
安裝好後,再次編譯,又一次提示錯誤:[[email protected]_195_229_centos redis-4.0.1]# make cd src && make all make[1]: Entering directory `/root/setup/redis-4.0.1/src' CC Makefile.dep make[1]: Leaving directory `/root/setup/redis-4.0.1/src' make[1]: Entering directory `/root/setup/redis-4.0.1/src' CC adlist.o In file included from adlist.c:34:0: zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory #include <jemalloc/jemalloc.h> ^ compilation terminated. make[1]: *** [adlist.o] Error 1 make[1]: Leaving directory `/root/setup/redis-4.0.1/src' make: *** [all] Error 2 [[email protected]_195_229_centos redis-4.0.1]#
執行
make distclean
後,再次執行make
:[[email protected]_195_229_centos redis-4.0.1]# make Hint: It's a good idea to run 'make test' ;) make[1]: Leaving directory `/root/setup/redis-4.0.1/src' [[email protected]_195_229_centos redis-4.0.1]# make test \o/ All tests passed without errors! Cleanup: may take some time... OK make[1]: Leaving directory `/root/setup/redis-4.0.1/src' [[email protected]_195_229_centos redis-4.0.1]#
提醒
make test
會有點花時間,如果時間緊迫,可以不必test。安裝:
make install
[[email protected]_195_229_centos redis-4.0.1]# make install cd src && make install make[1]: Entering directory `/root/setup/redis-4.0.1/src' Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install make[1]: Leaving directory `/root/setup/redis-4.0.1/src' [[email protected]_195_229_centos redis-4.0.1]#
檢查安裝結果:
redis-server -v
[[email protected]_195_229_centos redis-4.0.1]# redis-server -v Redis server v=4.0.1 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=8a9e0b3e8c0b0954 [[email protected]_195_229_centos redis-4.0.1]#
如果提示錯誤,找不到命令,則需要修改
/etc/profile
將/usr/local/bin
新增到環境目錄中:export PATH=$PATH:/usr/local/bin
配置
建立目錄:
mkdir -p /etc/redis /var/redis/data /var/redis/run /var/redis/log
# 配置檔案目錄,配置檔案一般放在/etc/下 mkdir /etc/redis # dump file 目錄,一般放在/var/目錄下 mkdir /var/redis/data # 程序pid目錄,一般放在/var/目錄下 mkdir /var/redis/run # log目錄,一般放在/var/目錄下 mkdir /var/redis/log
修改配置檔案,配置引數
拷貝解壓包下的redis.conf
檔案至/etc/redis
[[email protected]_195_229_centos redis-4.0.1]# cp -pi redis.conf /etc/redis/ [[email protected]_195_229_centos redis-4.0.1]# cd /etc/redis/
修改配置檔案的如下幾項內容:
- 修改埠(預設6379),此項可以不修改
- port 6379
- 修改pid目錄為新建目錄
- pidfile /var/redis/run/redis_6379.pid
- 修改dump目錄為新建目錄
- dbfilename dump.rdb
- # dir ./
- dir /var/redis/data
- 修改log儲存目錄為新建目錄
- logfile /var/redis/log/redis.log
- 持久化,預設為
rdb
,可選擇是否開啟aof,若開啟,修改配置檔案appendonly
- appendonly no
- # The name of the append only file (default: “appendonly.aof”)
- appendfilename “appendonly.aof”
- 設定redis密碼,安全起見,還是需要設定的
- requirepass redispassword
- 公網使用redis,需要放開ip繫結,將繫結註釋掉,或指定寬泛的公網ip範圍
- # bind 127.0.0.1
- 配置redis在background執行
- daemonize yes
- 修改埠(預設6379),此項可以不修改
啟動Redis
命令列啟動:
[[email protected]_195_229_centos redis]# redis-server /etc/redis/redis.conf
客戶端連線redis:
[[email protected]_195_229_centos ~]# redis-cli 127.0.0.1:6379> auth redispassword OK 127.0.0.1:6379> keys "*" (empty list or set) 127.0.0.1:6379>
客戶端連線成功, 檢查各個目錄下的檔案是否正常生成:
[[email protected]_195_229_centos ~]# ls -lR /var/redis/ /var/redis/: total 12 drwxr-xr-x 2 root root 4096 Aug 12 15:39 data drwxr-xr-x 2 root root 4096 Aug 12 16:18 log drwxr-xr-x 2 root root 4096 Aug 12 16:23 run /var/redis/data: total 0 /var/redis/log: total 4 -rw-r--r-- 1 root root 2234 Aug 12 16:23 redis.log /var/redis/run: total 4 -rw-r--r-- 1 root root 5 Aug 12 16:23 redis_6379.pid [[email protected]_195_229_centos ~]#
檢查發現
/var/redis/data/
下面沒有生成dump檔案,將redis停止,然後重新啟動redis,則可以發現dump檔案已正常生成。[[email protected]_195_229_centos ~]# ps -ef | grep redis root 9380 1 0 16:23 ? 00:00:00 redis-server 127.0.0.1:6379 root 11251 4471 0 16:47 pts/1 00:00:00 grep --color=auto redis [[email protected]_195_229_centos ~]# kill 9380 [[email protected]_195_229_centos ~]# redis-server /etc/redis/redis.conf [[email protected]_195_229_centos ~]# ls -l /var/redis/data total 4 -rw-r--r-- 1 root root 172 Aug 12 16:47 dump.rdb [[email protected]_195_229_centos ~]#
另外,若配置了aof持久化方式,data目錄下還會有aof的相關檔案。
配置伺服器開機自啟動。
建立redis啟動指令碼,拷貝壓縮包下的初始化指令碼,到
/etc/init.d/
,可修改指令碼名,以方便識別:
cp -pi utils/redis_init_script /etc/init.d/redis
修改指令碼
/etc/init.d/redis
的pid及conf路徑為實際路徑:# 修改啟動指令碼檔案 /etc/init.d/redis REDISPORT=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli # 生產環境下,配置時,配置檔案、pid等最好加上埠標識,以便區分 PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/redis_${REDISPORT}.conf" # 按照上面的操作方法,需要將redis.conf重新命名一下: [[email protected]_195_229_centos redis-4.0.1]# mv /etc/redis/redis.conf /etc/redis/redis_6379.conf [[email protected]_195_229_centos redis-4.0.1]# ls -l /etc/redis/redis_6379.conf -rw-rw-r-- 1 root root 57820 Aug 12 16:23 /etc/redis/redis_6379.conf [[email protected]_195_229_centos redis-4.0.1]#
至此,在/etc/init.d/目錄下,已經可以通過
service redis start/stop/restart
來操作redis服務了。給啟動指令碼新增許可權:
chmod +x /etc/init.d/redis
設定開機自啟動Redis
修改
/etc/init.d/redis
, 向其中加入redis啟動優先順序資訊# chkconfig: 2345 90 10 # description: Redis is a persistant key-value database. REDISPORT=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli
執行
chkconfig redis on
- 至此,自啟動配置完畢。
相關推薦
從零開始構建支援TLS1.2的Web伺服器Linux版(二) 配置Tomcat環境
博文目錄 下載Tomcat安裝包 在下載安裝Tomcat前,請確保已經按 (一) 配置JAVA環境 正確安裝配置好Java環境。 根據自己的需要選擇合適的安裝包,官方下載
從零開始構建支援TLS1.2的Web伺服器Linux版(六)選裝-Redis(src安裝方式)
博文目錄 下載Redis 從Redis官網,下載所需版本的Redis,當前最新版本為Redis 4.0.1 通過wget直接下載到伺服器: [[email pro
從零開始構建一個的asp.net Core 項目(二)
mage .... cfi web execute 運行 figure 今天 deb 接著上一篇博客繼續進行。上一篇博客只是顯示了簡單的MVC視圖頁,這篇博客接著進行,連接上數據庫,進行簡單的CRUD。 首先我在Controllers文件夾點擊右鍵,添加->控制器 彈
webpack從零開始構建多頁項目(mpa)
www .html log targe 環境 分開 webpack 支持 博客 歷時一個星期左右,自己參考webpack官網等,從零開始構建webpack項目。本次的博客也是對前面的webpack項目搭建一文的補充。 在本wepack搭建的項目中,自己實現了下面的這些功
從零開始構建一個centos+jdk7+tomcat7的docker鏡像文件
entos 命名 doc 讀取 com 工作目錄 perm 後臺運行 star 從零開始構建一個centos+jdk7+tomcat7的鏡像文件 centos7系統下docker運行環境的搭建 準備centos基礎鏡像 docker pull centos 或者直接下載我
Maven系列(一)從零開始構建Java應用程序
.so 構建java項目 cti maven生命周期 包含 兩個類 簡述 work pil 前段時間面試,面試官要我簡述一下Maven生命周期,what?Maven不就是用來構建一個項目的麽,生命周期是什麽東東(我之前一直做.net,但是想找關於java的工作,之前使用Ma
從零開始構建 Hadoop 集群
mod ase 壓縮 memory ssh-key frame In 文件 cor 一、簡介 當今只要談到大數據,自然想到Hadoop,以前Hadoop還只是個軟件、系統,而如今更多代表的是一個大數據生態圈。 本文談的 Hadoop 特指一個軟件,它是 Apache 基
從零開始搭建騰訊雲伺服器
本篇博文旨在將近期搭建雲伺服器的步驟記錄下來。 1、定義 雲伺服器是一種簡單高效、安全可靠、處理能力可彈性伸縮的計算服務。其管理方式比物理伺服器更簡單高效。使用者無需提前購買硬體,即可迅速建立或釋放任意多臺雲伺服器。雲伺服器幫助您快速構建更穩定、
從零開始構建嵌入式系統實踐指南
近期花費了一段時間從零搭建一個嵌入式系統,從Uboot,Kernel,檔案系統的編譯到配置一步一步的實踐,採坑到現在的順理成章,經歷了一個痛苦的過程,因此把搭建過程中的經驗整理成了一篇詳細的教程,發表在GitChat平臺上,分享給大家,共同探討,共同進步。 一個精簡完整的嵌入式系統包
從零開始構建一個Reactor模式的網路庫(一) 執行緒同步Mutex和Condition
最近在學習陳碩大神的muduo庫,感覺寫的很專業,以及有一些比較“高階”的技巧和設計方式,自己寫會比較困難。 於是打算自己寫一個簡化版本的Reactor模式網路庫,就取名叫mini吧,同樣只基於Linux平臺,不使用boost庫,去掉一些比較複雜的部分,只實現比較基本的功能。 寫作的過程中,參考了http
從零開始構建一個Reactor模式的網路庫(二)執行緒類Thread
執行緒類Thread是對POSIX執行緒的封裝類,因為要構建的是一個Linux環境下的多執行緒網路庫,對執行緒的封裝是很必要的。 首先是CurrentThread名稱空間,主要是獲取以及快取執行緒id: 1 #ifndef CURRENTTHREAD_H 2 #define CURRENTTHR
webpack從零開始構建專案之rem問題(三)
使用webpack解決px轉rem的自適應問題 現在的專案配置已經可以正常執行 接下來我們要考慮下一個問題,由於VUE主要適用於移動端,所以我們需要一個自適應方案 由於這是一個大眾需求的剛需方案,所以我們大可不必自己手動去寫JS程式碼,重複造輪子 那麼我
從零開始構建一個centos+jdk7+tomcat7的映象檔案 centos7系統下docker執行環境的搭建 準備centos基礎映象 docker pull centos 或者直接下載我準備
從零開始構建一個centos+jdk7+tomcat7的映象檔案 準備centos基礎映象 docker pull centos 或者直接下載我準備好的映象 docker pull registry.cn-hangzhou.aliyuncs.com/repos_zy
[Spring Boot] 從零開始構建Spring Boot環境
Spring Boot是一個基於Spring框架搭建起來的應用,它嵌入Tomcat、Jetty或者Undertow等伺服器,並且不需要傳統的WAR檔案進行部署,也就是說搭建Spring Boot專案並不需要單獨下載Tomcat等WEB伺服器;同時提供Maven(或者Grandle)依賴的star
從零開始搭建一個簡易的伺服器(二)
超級大坑 第一篇部落格到現在拖坑有半年了(不過估計也沒人記得我),原本的打算是既然要寫伺服器,那自然要設計一門語言,類似於php這樣的工作於伺服器後端負責後端渲染,然後到目前為止的時間基本都花在寫編譯器上了囧,編譯器的專案在這裡。如果真的等編譯器全部寫
阿里雲使用筆記(一):從零開始配置阿里雲GPU伺服器訓練深度學習模型
題 神經網路訓練需要強大的GPU支援,自己搭建成本太高,並且有時候出差等原因,無法將龐大的機箱搬走。因此,就產生了將深度學習網路訓練的任務搬到雲端的想法。由於初次使用,遇到不少大坑,花了兩天時間才完整的實現。 要實現的功能: - 安裝anaconda管理庫
從零開始構建部署上線Node.js+Express+Bootstrap+Jade響應式網站應用—RSPT丨留學生活第一站(三)
一、Nodejs 線上伺服器部署與釋出綜述 伺服器配置生產環境所需要的步驟大致為: 整個專案部署詳細流程文字解析: 部署流程圖依照學習課程的流程: 看著這個圖,Scott老師有一段精彩的故事詮釋它: 故事還得從左下腳的角落開始,一把椅子
從零開始搭建一個簡易的伺服器(一)
前言 其實大家大可不必被伺服器這三個字嚇到,一個入門級後端框架,所需的僅僅是HTTP相關的知識與應用這些知識的程式設計工具。據本人的經驗,絕大多數人擁有搭建後端所涉及到的基礎理論知識,但是缺乏能將之應用出去的工具,而本文即是交給讀者這樣一個工具,並能夠運用之來
Python 從零開始構建自己的比特幣區塊鏈系統
本文轉自PythonCaff作者SummerHappy Coding.你是否會和我一樣,對加密數字貨幣底層的區塊鏈技術非常感興趣,特別想了解他們的執行機制。但是學習區塊鏈技術並非一帆風順,我看多了大量的視訊教程還有各種課程,最終的感覺就是真正可用的實戰課程太少。我喜歡在實踐中
從零開始搭建騰訊雲伺服器 (一)
本篇博文旨在將近期搭建雲伺服器的步驟記錄下來。 1、定義 雲伺服器是一種簡單高效、安全可靠、處理能力可彈性伸縮的計算服務。其管理方式比物理伺服器更簡單高效。使用者無需提前購買硬體,即可迅速建立或釋放任意多臺雲伺服器。雲伺服器幫助您快速構建更穩定、安全的應用,降低開發運