CentOS 7 に redis6.2.6 をインストールする
1.公式サイトからredisファイルをダウンロード
ダウンロード方法は2通り
1.wgetコマンドでサーバーディレクトリに直接ダウンロード
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
2.公式サイトに直接アクセスしてダウンロード後、サーバー上の指定ディレクトリにアップロード
配置ディレクトリは以下の通り
2. インストールの依存関係を確認する
2.1 システムのデフォルト バージョン gcc をインストールする
gcc -v を使用して、現在の環境 (システムのデフォルト バージョン 4.8.5) を表示します
。コマンドが見つからない場合は、最初に gcc をインストールする必要があります。
gcc のデフォルト バージョンをインストールします (インストール プロセス中に入力する必要があります。[y] を入力し続けるだけです):
yum install gcc-c++
[Complete!] が表示されたら、インストールは成功です。
2.2 gcc のバージョンアップ
CentOS7 はデフォルトの GCC 環境でインストールされ、デフォルトのバージョンは 4.8.5 です! redis-6.x をコンパイルするには、C5.3 以上のコンパイラが必要です。そうしないと、多くのエラーが発生します。主な理由は、redis-6.x 以降のマルチスレッド コードが C 標準ライブラリの新しい型 _Atomic に依存しているためです。ただし、gcc はバージョン 4.9 から stdatomic を公式かつ完全にサポートしていることに注意してください (gcc-4.8.5 は部分的にサポートしています)。centos7 のデフォルトの gcc バージョンは次のとおりです。4.8.5 < 5.3 はコンパイルできません。
gcc をバージョン 9 にアップグレードする必要があります。
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#设置环境变量:
scl enable devtoolset-9 bash
#验证版本
gcc -v
3.解凍、コンパイル、インストール
# 解压下载文件
tar -xzvf redis-6.2.6.tar.gz
#进入解压目录
cd /home/redis-6.2.6
#编译并安装在指定目录
make install PREFIX=/usr/local/redis
エラーが発生した場合:
zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 没有那个文件或目录
50 | #include <jemalloc/jemalloc.h>
| ^~
解決:
#make 时指定分配器为libc
make MALLOC=libc
#再执行编译并安装在指定目录
make install PREFIX=/usr/local/redis
インストール ディレクトリの bin フォルダーを確認します。以下は成功を示します。
4. 構成 redis.conf を変更します
4.1 デーモンプロセスとして実行
redis.confをredisのソースディレクトリからredisのインストールディレクトリにコピー
cp /home/redis-6.2.6/redis.conf /usr/local/redis/bin/
構成ファイルを変更して、redis サービスをデーモンとして実行する
cd /usr/local/redis/bin/
vi redis.conf
daemonize no を daemonize yes に変更し、保存して終了します
4.2 パスワードの設定
4.3 バインド IP (オプション)
デフォルトのローカル マシン。すべてのホストにアクセスできるようにする場合は、0.0.0.0 をバインドするように変更できます。
5. redis サービスを開始してテストする
5.1 redis サーバーの起動
cd /usr/local/redis/bin/
./redis-server redis.conf
起動が成功したかどうかを確認する
ps -ef |grep redis
次の図は、起動が成功したことを示しています
5.2 インストールが成功したかどうかのテスト
#进入安装目录
cd /usr/local/redis/bin
./redis-cli -p 6379
#如果设置了密码,需要验证
auth 你的密码
ping コマンドを使用して、pong が返された場合は、インストールが成功したことを意味します
テスト セット、取得
5.3 redis スタートアップ構成
#进入/lib/systemd/system/目录
cd /lib/systemd/system/
#创建redis.service文件
vim redis.service
redis.service:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
# ExecStart需要按照实际情况修改成自己的地址
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
起動時に起動するように redis を設定する
systemctl enable redis.service
以前に起動したかどうかを確認する
ps -ef|grep redis
# 杀死redis线程
kill -9 pid
redis サービスを開始する
systemctl start redis.service
サービス状況を見る
systemctl status redis.service
その他の redis コマンド
# 停止服务
systemctl stop redis.service
# 取消开机自动启动(卸载服务)
systemctl disabled redis.service
6. ファイアウォール ポートを開きます
#查看防火墙状态
systemctl status firewalld
#查看开放的端口
firewall-cmd --query-port=6379/tcp
#添加端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#重载防火墙
firewall-cmd --reload
#再次查看端口是否已经开放
firewall-cmd --query-port=6379/tcp