目次
Redis の構築
インストール
システム パラメータ
redis.conf
daemonize
pidfile
port
loglevel
logfile
dir
セキュリティ
Unix ソケット
requirepass
rename-command
Snapshot
Start at boot
什么是Linux系统
ホームページ データベース Redis CentOS 7 に Redis サーバーをインストールする方法

CentOS 7 に Redis サーバーをインストールする方法

May 31, 2023 am 08:25 AM
linux redis サーバ

Redis は、ANSI C で書かれたオープンソースのマルチプラットフォーム データ ストレージ ソフトウェアです。Redis は、Lua、C、Java、Python、Perl、PHP およびその他の多くの言語をサポートできます。

Redis の構築

redis には現在、公式の RPM インストール パッケージがありません。ソース コードからコンパイルする必要があり、コンパイルするには Make と GCC をインストールする必要があります。

GCC と Make がインストールされていない場合は、yum を使用してインストールします。

yum install gcc make
ログイン後にコピー

公式 Web サイトから tar 圧縮パッケージをダウンロードします。

curl http://download.redis.io/releases/redis-3.0.4.tar.gz -o redis-3.0.4.tar.gz
ログイン後にコピー

解凍します。

tar zxvf redis-3.0.4.tar.gz
ログイン後にコピー

解凍したディレクトリを入力します。

cd redis-3.0.4
ログイン後にコピー

Make を使用してソース ファイルをコンパイルします。

make
ログイン後にコピー

インストール

ソース ファイルのディレクトリを入力します。

cd src
ログイン後にコピー

Redis サーバーとクライアントを /usr/local/bin にコピーします。

cp redis-server redis-cli /usr/local/bin
ログイン後にコピー

センチネルをコピーし、ベンチマークして確認するのが最善です。

cp redis-sentinel redis-benchmark redis-check-aof redis-check-dump /usr/local/bin
ログイン後にコピー

redis 構成フォルダーを作成します。

mkdir /etc/redis
ログイン後にコピー

/var/lib/redis にデータを保存するための有効なディレクトリを作成します

mkdir -p /var/lib/redis/6379
ログイン後にコピー
システム パラメータ

Redis が適切に動作するためには、いくつかのカーネル パラメータが必要です。設定されています。

vm.overcommit_memory を 1 に構成すると、データの切り捨てを回避できます。詳細については、ここを参照してください。

sysctl -w vm.overcommit_memory=1
ログイン後にコピー

バックログ接続の最大数を変更して、redis.conf の tcp-backlog 値 (デフォルト値 511) を超えます。 sysctl ベースの IP ネットワーク トンネリングの詳細については、kernel.org を参照してください。

sysctl -w net.core.somaxconn=512
ログイン後にコピー

透過ヒュージ ページのサポートをキャンセルします。これは、Redis の使用中に遅延とメモリ アクセスの問題を引き起こすためです。

echo never > /sys/kernel/mm/transparent_hugepage/enabled
ログイン後にコピー
ログイン後にコピー

redis.conf

redis.conf は Redis の設定ファイルですが、このファイルの名前は 6379.conf であり、この番号がネットワーク ポートであることがわかります。 redis が聞きます。複数の Redis インスタンスを実行するには、次の命名スキームをお勧めします。

サンプルの redis.conf を /etc/redis/6379.conf にコピーします。

cp redis.conf /etc/redis/6379.conf
ログイン後にコピー

次に、このファイルを編集してパラメータを構成します。

vi /etc/redis/6379.conf
ログイン後にコピー
daemonize

daemonize を no に設定します。systemd はフォアグラウンドで実行する必要があります。そうしないと、redis が突然ハングします。

daemonize no
ログイン後にコピー
pidfile

pidfile を /var/run/redis_6379.pid に設定します。

pidfile /var/run/redis_6379.pid
ログイン後にコピー
port

デフォルトのポートを使用する予定がない場合は、変更できます。

port 6379
ログイン後にコピー
loglevel

ログ レベルを設定します。

loglevel notice
ログイン後にコピー
logfile

ログ ファイルのパスを変更します。

logfile /var/log/redis_6379.log
ログイン後にコピー
dir

ディレクトリを /var/lib/redis/6379 に設定します

dir /var/lib/redis/6379
ログイン後にコピー

セキュリティ

セキュリティを向上させる操作がいくつかあります。

Unix ソケット

クライアント プログラムとサーバー プログラムは通常、同じマシン上で実行されるため、ネットワーク ソケットをリッスンする必要はありません。これがあなたのユースケースに似ている場合は、ネットワークソケットの代わりに Unix ソケットを使用できます。これを行うには、ポートを 0 に設定し、次のオプションを設定して UNIX ソケットを有効にする必要があります。

unixソケットのソケットファイルを設定します。

 unixsocket /tmp/redis.sock
ログイン後にコピー

ソケット ファイルのアクセス許可を制限します。

unixsocketperm 700
ログイン後にコピー

redis-cli にアクセスできるようにするには、-s パラメーターを使用してソケット ファイルを指定する必要があります。

redis-cli -s /tmp/redis.sock
ログイン後にコピー
requirepass

リモート アクセスが必要な場合は、各操作の前にパスワードが要求されるようにパスワードを設定する必要があります。

requirepass "bTFBx1NYYWRMTUEyNHhsCg"
ログイン後にコピー
rename-command

次のコマンドの出力を想像してください。はい、これによりサーバーの構成が出力されるため、可能な限りこのアクセスを拒否する必要があります。

CONFIG GET *
ログイン後にコピー

「rename-command」コマンドを使用して、この命令または他の命令の使用を制限または禁止できます。コマンド名と代替名を指定する必要があります。コマンドをより安全に禁止するには、コマンドの名前を誰も推測できないように、その代替名を空の文字列に設定する必要があります。

rename-command FLUSHDB "FLUSHDB_MY_SALT_G0ES_HERE09u09u"rename-command FLUSHALL ""rename-command CONFIG "CONFIG_MY_S4LT_GO3S_HERE09u09u"
ログイン後にコピー

如何在CentOS 7上安装Redis服务器

UNIX ソケット経由でアクセスするにはパスワードを使用し、コマンドを変更します

Snapshot

デフォルトでは、 redis データセットは、設定したディレクトリ内の dump.rdb ファイルに定期的にダンプされます。 save コマンドを使用してダンプの頻度を構成できます。このコマンドの最初のパラメータは秒単位の時間枠、2 番目のパラメータはデータ ファイルに対して行われる変更の数です。

15 分ごと、キーは少なくとも 1 回変更されています。

save 900 1
ログイン後にコピー

5 分ごとにキーが少なくとも 10 回変更されました。

save 300 10
ログイン後にコピー

1 分ごとにキーが少なくとも 10,000 回変更されました。

save 60 10000
ログイン後にコピー

ファイル /var/lib/redis/6379/dump.rdb には、前回の保存以降のメモリ内データセットのダンプ データが含まれています。一時ファイルを作成してから以前のダンプファイルを置き換えるので、データが壊れる心配はなく、ファイルを直接コピーすることができますのでご安心ください。

Start at boot

systemd を使用して、redis をシステム ブート リストに追加できます。

サンプルの init_script ファイルを /etc/init.d にコピーします。スクリプト名で表されるポート番号に注意してください。

cp utils/redis_init_script /etc/init.d/redis_6379
ログイン後にコピー

ここで systemd を使用したいので、/etc/systems/system の下に redis_6379.service という名前のユニット ファイルを作成します。

vi /etc/systemd/system/redis_6379.service
ログイン後にコピー

次の内容を入力します。詳細については、systemd.service を参照してください。

[Unit]Description=Redis on port 6379[Service]Type=forkingExecStart=/etc/init.d/redis_6379 startExecStop=/etc/init.d/redis_6379 stop[Install]WantedBy=multi-user.target
ログイン後にコピー

现在添加我之前在 /etc/sysctl.conf 里面修改过的内存过量使用和 backlog 最大值的选项。

vm.overcommit_memory = 1net.core.somaxconn=512
ログイン後にコピー

对于透明巨页内存支持,并没有直接 sysctl 命令可以控制,所以需要将下面的命令放到 /etc/rc.local 的结尾。

echo never > /sys/kernel/mm/transparent_hugepage/enabled
ログイン後にコピー
ログイン後にコピー

这样就可以启动了,通过设置这些选项你就可以部署 redis 服务到很多简单的场景,然而在 redis.conf 还有很多为复杂环境准备的 redis 选项。在一些情况下,你可以使用 replication 和 Sentinel 来提高可用性,或者将数据分散在多个服务器上,创建服务器集群。

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Docker画像が失敗した場合はどうすればよいですか Docker画像が失敗した場合はどうすればよいですか Apr 15, 2025 am 11:21 AM

障害のあるDocker画像ビルドのトラブルシューティング手順:DockerFileの構文と依存関係バージョンを確認します。ビルドコンテキストに必要なソースコードと依存関係が含まれているかどうかを確認します。エラーの詳細については、ビルドログを表示します。 -targetオプションを使用して、階層フェーズを構築して障害点を識別します。 Dockerエンジンの最新バージョンを使用してください。 -t [image-name]:デバッグモードで画像を作成して、問題をデバッグします。ディスクスペースを確認し、十分であることを確認してください。 Selinuxを無効にして、ビルドプロセスへの干渉を防ぎます。コミュニティプラットフォームに助けを求め、DockerFilesを提供し、より具体的な提案のためにログの説明を作成します。

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

vscodeとは何ですか?vscodeとは何ですか? vscodeとは何ですか?vscodeとは何ですか? Apr 15, 2025 pm 06:45 PM

VSコードは、Microsoftが開発した無料のオープンソースクロスプラットフォームコードエディターと開発環境であるフルネームVisual Studioコードです。幅広いプログラミング言語をサポートし、構文の強調表示、コード自動完了、コードスニペット、および開発効率を向上させるスマートプロンプトを提供します。リッチな拡張エコシステムを通じて、ユーザーは、デバッガー、コードフォーマットツール、GIT統合など、特定のニーズや言語に拡張機能を追加できます。 VSコードには、コードのバグをすばやく見つけて解決するのに役立つ直感的なデバッガーも含まれています。

Linuxの主な目的は何ですか? Linuxの主な目的は何ですか? Apr 16, 2025 am 12:19 AM

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

VSCODE前の次のショートカットキー VSCODE前の次のショートカットキー Apr 15, 2025 pm 10:51 PM

VSコードワンステップ/次のステップショートカットキー使用法:ワンステップ(後方):Windows/Linux:Ctrl←; macOS:CMD←次のステップ(フォワード):Windows/Linux:Ctrl→; macOS:CMD→

See all articles