ホームページ > データベース > Redis > centos7.8にredis5.0.10をインストールする方法

centos7.8にredis5.0.10をインストールする方法

WBOY
リリース: 2023-05-30 23:34:04
転載
1678 人が閲覧しました

準備

  • 1台のcentos7.8サーバー

ホスト名を変更します

# hostnamectl set-hostname redishost
ログイン後にコピー

redis のインストール

redis インストール パッケージのダウンロード

# cd /opt
# wget https://download.redis.io/releases/redis-5.0.10.tar.gz
ログイン後にコピー

圧縮パッケージの解凍

# cd /opt
# tar -zxf redis-5.0.10.tar.gz
ログイン後にコピー

コンパイルとインストール

# cd /opt
# cd redis-5.0.10
## 安装gcc编译器
# yum install gcc
# make MALLOC=libc
# # make install
cd src && make install
make[1]: Entering directory `/opt/redis-5.0.10/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 `/opt/redis-5.0.10/src
ログイン後にコピー

システム パラメーターの変更

## 修改sysctl.conf
# (
cat <<EOF
net.core.somaxconn=1024
vm.overcommit_memory=1
EOF
) >> /etc/sysctl.conf
ログイン後にコピー

上記の操作は、redis-server のデフォルト起動によって表示される最初の 2 つの警告を解決する永続的なソリューションです。redis-server のデフォルト起動の 2 つの警告メッセージは次のとおりです。

##/proc/sys/net/core/somaxconn が 128 という低い値に設定されているため、TCP バックログ設定 511 を強制することはできません。 #overcommit_memory は 0 に設定されています! メモリ不足状態ではバックグラウンド保存が失敗する場合があります。この問題を修正するには、「vm.overcommit_memory = 1」を/etc/sysctl.conf に追加してから再起動するか、コマンド「sysctl vm.overcommit_memory=1」を実行してください。これを有効にするには、
  • システム起動パラメータを変更して TCP をオフにします

    ## 修改/etc/default/grub
    ## 在指定行加 transparent_hugepage=never
    # vi /etc/default/grub
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed &#39;s, release .*$,,g&#39; /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"
    GRUB_DISABLE_RECOVERY="true"
    
    
    ## 重新生成grub配置文件
    # grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-385c7efe9475460c95c436866e593af3
    Found initrd image: /boot/initramfs-0-rescue-385c7efe9475460c95c436866e593af3.img
    done
    ログイン後にコピー
  • 上記の操作は、3 番目の問題を解決するための長期にわたる解決策です。 redis-server のデフォルトの起動プロンプトの警告です。添付されているのは、redis-server のデフォルトの起動です。3 番目の警告メッセージは次のとおりです:
  • you have Transparent Huge Pages ( THP) サポートがカーネルで有効になっています。これにより、Redis でレイテンシとメモリ使用量の問題が発生します。この問題を解決するには、root でコマンド「echo Never > /sys/kernel/mm/transparent_hugepage/enabled」を実行し、それを / に追加します。再起動後に設定を保持するには、etc/rc.local。THP を無効にした後、Redis を再起動する必要があります。

Write 'echo Never > /sys/kernel/mm /etc/rc.local へのプロンプトに従って /transparent_hugepage/enabled' を実行しますが、実際には役に立ちません。変更 grub 起動ファイルの変更を有効にすることができます。

    redis をバックグラウンドプロセスとして起動します
  • 設定ファイル redis.conf を変更します

    # cd /opt/redis-5.0.10
    # mkdir /etc/redis
    # cp redis.conf /etc/redis/redis.conf
    ログイン後にコピー
    /etc/redis/redis.conf 内の次の 3 項目を変更します

#バックグラウンド プロセスとして開始

#daemonize no を daemonize yes に変更します

  • redis リモート接続をセットアップします

バインド 127.0.0.1

  • # をコメントアウトします。 ##redis 接続パスワードを設定します

##requirepass foobard を requirepass redis1234 に変更します##systemctl 起動プログラムを設定します

  • /usr/lib/systemd/system/redis.service

    [Unit]
    Description=Redis 6379
    After=syslog.target network.target
    [Service]
    Type=forking
    PrivateTmp=yes
    Restart=always
    ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
    User=root
    Group=root
    LimitCORE=infinity
    LimitNOFILE=100000
    LimitNPROC=100000
    [Install]
    WantedBy=multi-user.target
    ログイン後にコピー
    自動起動の構成

    systemctl daemon-reload  
    systemctl enable redis
    ログイン後にコピー
  • 起動コマンド
systemctl enable redis 
systemctl start redis
systemctl restart redis
ログイン後にコピー

{{o.name }}{{名前}}

以上がcentos7.8にredis5.0.10をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート