centos 7 redisチュートリアルのインストールとリモート接続redisの問題


linuxに接触して間もなく、redisをインストールして穴に登ってきて、ここで共有を記録します!
一、redisのインストール
ステップ1:redisインストールパッケージのダウンロード
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
[root@lin ~]$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
--2017-12-13 12:35:12--  http://download.redis.io/releases/redis-4.0.6.tar.gz
Resolving download.redis.io (download.redis.io)... 109.74.203.151
Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1723533 (1.6M) [application/x-gzip]
Saving to: ‘redis-4.0.6.tar.gz’

100%[==========================================================================================================>] 1,723,533    608KB/s   in 2.8s   

2017-12-13 12:35:15 (608 KB/s) - ‘redis-4.0.6.tar.gz’ saved [1723533/1723533]

ステップ2:圧縮パッケージの解凍
tar -zxvf redis-4.0.6.tar.gz
[root@lin ~]$ tar -zxvf redis-4.0.6.tar.gz

ステップ3:yum実装gcc依存
yum install gcc
[root@lin ~]$ yum install gcc

Yを選択してください.
ステップ4:redis解凍ディレクトリにジャンプ
cd redis-4.0.6
[root@lin ~]$ cd redis-4.0.6

ステップ5:インストールのコンパイル
make MALLOC=libc
[root@lin redis-4.0.6]$ make MALLOC=libc

/usr/local/redis-4.0.6/srcディレクトリのファイルを/usr/local/binディレクトリに追加
注意:/user/local/自分でインストールした設定のディレクトリに記入します.(参考ネイティブ:/home/lin/)
cd src && make install
[root@lin redis-4.0.6]$ cd src && make install
    CC Makefile.dep

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install

二、redisを起動する三つの方法
まずredis srcディレクトリに切り替えます
[root@lin redis-4.0.6]$ cd src

1.redisを直接起動する
./redis-server
[root@lin src]$ ./redis-server
18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started
18685:C 13 Dec 12:56:12.507 # 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.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 18685
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
18685:M 13 Dec 12:56:12.508 # Server initialized
18685:M 13 Dec 12:56:12.508 # 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.
18685:M 13 Dec 12:56:12.508 # 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.
18685:M 13 Dec 12:56:12.508 * Ready to accept connections  

ctrl+cを押すとウィンドウを閉じることができます.
2、バックグラウンドプロセス方式でredisを起動する
ステップ1:redisを変更します.confファイル

daemonize no
次のように変更
daemonize yes
protected-mode no
ステップ2:redisを指定します.confファイル起動
./redis-server/usr/local/redis-4.0.6/redis.conf
[root@lin src]$ ./redis-server /usr/local/redis-4.0.6/redis.conf 
18713:C 13 Dec 13:07:41.109 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18713:C 13 Dec 13:07:41.109 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18713, just started
18713:C 13 Dec 13:07:41.109 # Configuration loaded

ステップ3:redisプロセスを閉じる
まずps-aux|grep redisを使用してredisプロセスを表示します
[root@lin src]$ ps -aux | grep redis
root     18714  0.0  0.1 141752  2008 ?        Ssl  13:07   0:00 ./redis-server 127.0.0.1:6379
root     18719  0.0  0.0 112644   968 pts/0    R+   13:09   0:00 grep --color=auto redis

killコマンドを使用してプロセスを殺す(管理者権限が必要)
[root@lin src]$ kill 18714

3、redis起動の自己起動を設定する
1、/etcディレクトリの下でredisディレクトリを新規作成する
mkdir redis
etcに入ると直接cd/etc
[root@lin etc]$ mkdir redis

2、/usr/local/redis-4.0.6/redis.confファイルは/etc/redisディレクトリにコピーされ、6379と名付けられた.conf
[root@lin redis]$ cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf

3、redisの起動スクリプトをコピーして/etc/initに置く.dディレクトリの下
[root@lin init.d]$ cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd

4、redis起動の自己起動を設定する
まず/etc/initに切り替える.dディレクトリの下
次に、自己起動コマンドを実行します.
[root@lin init.d]$ chkconfig redisd on
service redisd does not support chkconfig 

結果的にredisdはchkconfigをサポートしていません
解決方法:
vimを使用してredisdファイルを編集し、最初の行に次の2行のコメントを追加し、終了を保存します.
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

(vim指定ファイル)開いたらiをクリックして編集してESCを押してコマンド:wq
注記:redisサービスは、実行レベル2、3、4、5で起動または停止されなければならず、起動の優先度は90であり、停止の優先度は10である.
#!/bin/sh
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

再起動起動コマンドを実行しました.
[root@lin init.d]$ chkconfig redisd on

redisを直接サービス形式で起動および閉じることができます.
開始:
service redisd start 
[root@lin ~]$ service redisd start
Starting Redis server...
2288:C 13 Dec 13:51:38.087 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2288:C 13 Dec 13:51:38.087 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=2288, just started
2288:C 13 Dec 13:51:38.087 # Configuration loaded

オフ:
方法1:service redisd stop
[root@lin ~]$ service redisd stop
Stopping ...
Redis stopped

方法2:redis-cli SHUTDOWN
三、リモート接続redis
RedisDesktopManager接続redisをローカルにインストールすると、接続されていないことがわかります.
1、cmd ping linux ip接続が成功するかどうかを見ます.
2、ポートが開いているかどうかを確認する
ファイアウォールに6379ポートが開いているかどうかを確認します.
実行コマンド:firewall-cmd--query-port=6379/tcp、noが発生した場合、コマンド:firewall-cmd--add-port=6379/tcpを実行し、6379ポートをオンにしてsuccessに戻ります.