ソースコンパイラパッケージのRedis
:現在のバージョンRedisのソースパッケージの最新版のダウンロードを選択したバージョン4.0.14を
http://download.redis.io/releases/
1、指定したパスにダウンロード公式ウェブサイト上でダウンロードパッケージを、開始
[ルート@ rs1src] #cdは/ usr / local / srcに [ルート@ rs1src] #wget http://download.redis.io/releases/redis-4.0.14.tar.gz
2は、ダウンロードしたパッケージを解凍します
[ルート@ rs1src] #tar -xvfのRedis-4.0.14.tar.gz
3、新しいディレクトリを作成し、指定されたディレクトリをコンパイルし始めました
【[email protected]] #mkdir /アプリ/ Redisの-p [[email protected]] #make PREFIX = /アプリ/ Redisのインストール
4、ファイルの内容を表示した後にコンパイル
5、コンパイルされた設定ファイルが新しいディレクトリなどに格納されています
[[email protected]] #mkdir /アプリケーション/ Redisのは/ etc など新しいディレクトリを作成するには 、[[email protected]] #cp redis.conf /アプリケーション/ Redisのは/ etc / ディレクトリに設定ファイルをコピーするなど
6、Redisのサービスを開始し、この時間は3つの警告があるでしょう、私たちは、処理する必要があります
図7は、3つの問題の警告を扱うようになりました
最初の警告処理:バックログキューは、サーバがクライアントのACK確認応答番号を受信スリーウェイハンドシェイクの終了後の制御パラメータの値です。
第二警告処理:
0は、カーネルが使用するプロセスとの十分なメモリ利用可能な供給があるかどうかをチェックすることを示し、それ以外の場合は、メモリ割り当てが失敗し、エラーがアプリケーション・プロセスに返され、十分な空きメモリがある場合は、メモリ割り当てができます。
1、すなわち、カーネルは関係なく、現在のメモリ状態の、物理メモリのすべてを割り当てることができます。
すべてのメモリの合計よりも物理メモリとスワップ領域の割り当てを可能にするカーネル図2
【[email protected]] #vimに/etc/sysctl.confアドレス最初の二つの警告 net.core.somaxconn = 512 vm.overcommit_memory。1 = [[email protected]] -pこの構成#sysctlファイルを有効に net.core.somaxconn = 512 vm.overcommit_memory = 1
第三警告処理:それはこのプロファイルケースの発効を確保するためにメモリ管理を担当するRedisのように、動的に割り当てられたオープンラージ・ページ・メモリー、必要性がクローズされるように、あなたは機械の検証を再起動することができます。
【[email protected]] #vim /etc/rc.d/rc.lcoal エコー決して> / SYS /カーネル/ MM / transparent_hugepage /有効 [[email protected]] #chmod + Xの/ etc / rc.dの/ rc.localに追加は、実行権限を
警告メッセージの後にマシンを再起動します。
8は、コンフィギュレーションは、ブートRedisのににsystemdサービススクリプトに基づいています
[root@rs1~]#vim /usr/lib/systemd/system/redis.service [Util] Description=Redis persistent key-value database After=network.target After=network online.target Wants=network online.target [Service] ExecStart=/apps/redis/bin/redis-server /apps/redis/etc/redis.conf --supervised systemd ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID Type=notify User=redis Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755 [install] WantedBy=multi-user.target
9 、创建一个redis用户,并将执行redis目录的权限(所有者和所属组)改为redis
[root@rs1~]#useradd -s /sbin/nologin redis [root@rs1~]#chown redis.redis /apps/redis -R [root@rs1~]#systemctl start redis 启动redis服务,此用法不多
10、我们可以将redis目录下可执行的程序全部软链接到/usr/bin目录,就可以直接执行redis-server命令。
[root@rs1~]#ln -sv /apps/redis/bin/redis-* /usr/bin 将可执行程序软连接到/usr/bin目录下 [root@rs1~]#redis-server 启动redis服务
此时,redis源码编译完成!