1. 程式人生 > >從零開始構建支援TLS1.2的Web伺服器Linux版(六)選裝-Redis(src安裝方式)

從零開始構建支援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

解壓->編譯->安裝

  1. 解壓:# tar -zxvf redis-4.0.1.tar.gz
  2. 編譯:make

    [[email protected]_195_229_centos setup]# cd redis-4.0.1/
    [[email protected]_195_229_centos redis-4.0.1]# ll total 284 -rw-rw-r-- 1 root root 127778 Jul 24 21:58 00-RELEASENOTES -rw-rw-r-- 1 root root 53 Jul 24 21:58 BUGS -rw-rw-r-- 1 root root 1815 Jul 24 21:58 CONTRIBUTING -rw-rw-r-- 1 root root 1487 Jul 24 21:58 COPYING drwxrwxr-x 6 root root 4096
    Jul 24 21:58 deps -rw-rw-r-- 1 root root 11 Jul 24 21:58 INSTALL -rw-rw-r-- 1 root root 151 Jul 24 21:58 Makefile -rw-rw-r-- 1 root root 4223 Jul 24 21:58 MANIFESTO -rw-rw-r-- 1 root root 20530 Jul 24 21:58 README.md -rw-rw-r-- 1 root root 57764 Jul 24 21:58 redis.conf -rwxrwxr-x 1 root root 271
    Jul 24 21:58 runtest -rwxrwxr-x 1 root root 280 Jul 24 21:58 runtest-cluster -rwxrwxr-x 1 root root 281 Jul 24 21:58 runtest-sentinel -rw-rw-r-- 1 root root 7606 Jul 24 21:58 sentinel.conf drwxrwxr-x 3 root root 4096 Jul 24 21:58 src drwxrwxr-x 10 root root 4096 Jul 24 21:58 tests drwxrwxr-x 8 root root 4096 Jul 24 21:58 utils [ro[email protected]_195_229_centos redis-4.0.1]# make make[3]: gcc: Command not found make[3]: *** [net.o] Error 127 make[3]: Leaving directory `/root/setup/redis-4.0.1/deps/hiredis' make[2]: *** [hiredis] Error 2 make[2]: Leaving directory `/root/setup/redis-4.0.1/deps' make[1]: [persist-settings] Error 2 (ignored) CC adlist.o /bin/sh: cc: command not found make[1]: *** [adlist.o] Error 127 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[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。

  3. 安裝: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]# 
  4. 檢查安裝結果: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

配置

  1. 建立目錄: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
  2. 修改配置檔案,配置引數
    拷貝解壓包下的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

啟動Redis

  1. 命令列啟動:

    [[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的相關檔案。

  2. 配置伺服器開機自啟動。

    1. 建立redis啟動指令碼,拷貝壓縮包下的初始化指令碼,到/etc/init.d/,可修改指令碼名,以方便識別:
      cp -pi utils/redis_init_script /etc/init.d/redis

    2. 修改指令碼/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服務了。

    3. 給啟動指令碼新增許可權:chmod +x /etc/init.d/redis

    4. 設定開機自啟動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-Redissrc安裝方式

博文目錄 下載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、定義 雲伺服器是一種簡單高效、安全可靠、處理能力可彈性伸縮的計算服務。其管理方式比物理伺服器更簡單高效。使用者無需提前購買硬體,即可迅速建立或釋放任意多臺雲伺服器。雲伺服器幫助您快速構建更穩定、安全的應用,降低開發運