Linux(debian)インストールRedisチュートリアル

16384 ワード

redisインストール
ps:ドキュメントの記録の大部分は万能のネットワーク資源から来て、多くの先輩のカレーの分かち合いに感謝して、これは個人が自分のインストールの過程を記録するだけです
一、概説
メモリデータベース、key-valueストレージシステムは、現在人気のあるNOSQLシステムの一つです.
二、インストール(linux-debin)
1.Redis公式ダウンロード、makeコンパイル
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make

2.makeコンパイル後、srcディレクトリの下に実行可能なファイルがいくつかあります.
mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server
インストールは完了しましたが、メンテナンスが容易なので、導入する必要があります.
三、配置と配置
1.管理を容易にし、Redisファイルのconfプロファイルと共通コマンドを統合フォルダに移動する
/usr/local/redis
  • ディレクトリ
  • を作成
    #       
    mkdir -p /usr/local/redis/bin
    #       
    mkdir -p /usr/local/redis/etc
  • ファイルを/usr/local/redis/binに移動します./usr/local/redis/ectディレクトリ
  • cd /root/redis-4.0.9
    mv redis.conf /usr/local/redis/etc
    
    cd /root/redis-4.0.9/src
    mv mkreleasehdr.sh /usr/local/redis/bin
    mv redis-benchmark /usr/local/redis/bin
    mv redis-check-aof /usr/local/redis/bin
    mv redis-cli /usr/local/redis/bin
    mv redis-server /usr/local/redis/bin

    四、redis-serverスクリプトを実行し、redisサービスを起動する
    1.フロントにてredisを起動
    cd /usr/local/redis/bin/
    ./redis-server
    18847:C 28 May 19:14:10.117 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    18847:C 28 May 19:14:10.118 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=18847, just started
    18847:C 28 May 19:14:10.118 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
                    _._
               _.-``__ ''-._
          _.-``    `.  `_.  ''-._           Redis 4.0.9 (00000000/0) 64 bit
      .-`` .-```.  ```\/    _.,_ ''-._
     (    '      ,       .-`  | `,    )     Running in standalone mode
     |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
     |    `-._   `._    /     _.-'    |     PID: 18847
      `-._    `-._  `-./  _.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |           http://redis.io
      `-._    `-._`-.__.-'_.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |
      `-._    `-._`-.__.-'_.-'    _.-'
          `-._    `-.__.-'    _.-'
              `-._        _.-'
                  `-.__.-'
    
    18847:M 28 May 19:14:10.120 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    18847:M 28 May 19:14:10.120 # Server initialized
    18847:M 28 May 19:14:10.120 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
    18847:M 28 May 19:14:10.120 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
    18847:M 28 May 19:14:10.120 * Ready to accept connections

    Redis-serverが起動したRedisサービスを直接実行し、フロントで直接実行します.Lunixが現在のセッションを閉じると、Redisサービスも閉じます.
    ^C18847:signal-handler (1527506181) Received SIGINT scheduling shutdown...
    18847:M 28 May 19:16:21.363 # User requested shutdown...
    18847:M 28 May 19:16:21.363 * Saving the final RDB snapshot before exiting.
    18847:M 28 May 19:16:21.366 * DB saved on disk
    18847:M 28 May 19:16:21.366 # Redis is now ready to exit, bye bye...

    2.バックグラウンドでredisサービスを開始する
    Redisサービスを起動するにはバックグラウンドから起動する必要があり、起動プロファイルを指定します.
  • redisを編集します.confファイル、daemonizeをyesに設定し、バックグラウンドで
  • を実行することを示す
    cd /usr/local/redis/etc/
    vim redis.conf
    
    ################################# GENERAL #####################################
    
    # By default Redis does not run as a daemon. Use 'yes' if you need it.
    # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
    daemonize yes
    
    
  • 次のカーネルパラメータを構成します.そうしないと、Redisスクリプトはredisを再起動または停止するときにエラーを報告し、サービスを停止する前に自動的にディスク上の
  • にデータを同期することはできません.
    # /etc/sysctl.conf   
    
    #vim /etc/sysctl.conf
    
    vm.overcommit_memory = 1
    

    設定後にコマンドを実行
    sysctl vm.overcommit_memory=1
  • 指定プロファイル(redis.conf)redisサービス
  • を起動する
    cd /usr/local/redis/bin/
    ./redis-server /usr/local/redis/etc/redis.conf
    
    18944:C 28 May 19:30:07.549 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    18944:C 28 May 19:30:07.549 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=18944, just started
    18944:C 28 May 19:30:07.549 # Configuration loaded
    
  • の起動に成功しました.プロセス
  • を表示します.
    root@Chao:~# ps -ef | grep redis
    root     18945     1  0 19:30 ?        00:00:00 ./redis-server 127.0.0.1:6379
    root     18958 15412  0 19:31 pts/0    00:00:00 grep redis

    五、redisをlinuxサービスとして起動する
    Systemctl管理Redis起動、停止、起動
  • /lib/systemd/systemディレクトリの下にスクリプトファイルredisを作成します.service
  • vim /lib/systemd/system/redis.service
    
    #      
    [Unit]
    #  
    Description=Redis
    #         
    After=syslog.target network.target remote-fs.target nss-lookup.target
    
    #      
    [Service]
    Type=forking
    # redis.conf          
    PIDFile=/var/run/redis_6379.pid
    #       
    ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    
    #      
    [Install]
    WantedBy=multi-user.target
  • ソフトリンク
  • を作成する
    ソフトリンクの作成は、次のシステム初期化時に自動的にサービスを開始するためです.
    ln -s/lib/systemd/system/redis.service/etc/systemd/system/multi-user.target.wants/redis.service
  • リフレッシュ構成
  • 構成したばかりのサービスはsystemctlが認識できるようにする必要があります.構成をリフレッシュする必要があります.
    systemctl daemon-reload
  • profileファイルの変更:
  • # vi /etc/profile
    
    #       :
    
    export PATH="$PATH:/usr/local/redis/bin"
    
    #           :
    
    # source /etc/profile
  • 起動、再起動、停止
  • redisの起動
    systemctl start redis
    redisの再起動
    systemctl restart redis
    停止redis
    systemctl stop redis
  • 起動
  • redisサービス加入起動
    systemctl enable redis
    起動禁止
    systemctl disable redis