この記事の内容は、Redis クラスターの構築チュートリアルをまとめたものです。非常に詳しい内容です。困っている友人は参考にしてください。皆さんのお役に立てれば幸いです。
はじめに
この記事は、Web 記事、Web サイト、および Redis クラスターの構築に関する私自身の経験を収集して整理したものです。レベルは限定されており、環境構築のみが共有されます。この記事は次の部分に分かれています:
- #Redis のインストール
- Rvm のインストールと置換ソース
- Rvm Ruby のインストール、使用、アンインストール##RubyGems のアップグレード、ソースの変更、redis のインストール
##クラスター構成
- ##Achievements Test
- この記事を表示するには、上記の手順に従ってください手順:
- ご質問がございましたら、以下にメッセージを残してください。
- root 権限を使用しているため、記事内の一部のコマンドには sudo が含まれていません。
- Redis のインストールコンパイルとインストール
wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar xzf redis-4.0.10.tar.gz cd redis-4.0.10 make PREFIX=/usr/local/redis install
注: Redis をサービスとして使用したくない場合は、すでにここにインストールしました
Redis をサービス参照にする: Redis クイック スタートRedis 構成ファイルとデータを保存するディレクトリを作成します: (Youdao Dictionary : Redis 構成ファイルとデータを保存するディレクトリを作成します :)
-
# 这只是一个目录结构,大家不要着急为什么自己没有,往下看,一步一步来 [root@amor ~]# cd /usr/local/redis [root@amor redis]# tree . ├── bin # 编译安装指定目录后自动生成目录及文件 │ ├── redis-benchmark │ ├── redis-check-aof │ ├── redis-check-rdb │ ├── redis-cli │ ├── redis-sentinel -> redis-server │ └── redis-server ├── conf # 自己建立的存储配置文件的目录及自己创建的单个Redis配置文件 │ └── 6379.conf └── data # 自己建立的存储Redis数据的目录及单个Redis服务数据存储目录 └── 6379 4 directories, 7 files
注:
cp /usr /src/redis-4.0.10/src/redis-trib.rb /usr/local/redis/bin/
を使用する必要があります。後でクラスターを作成するときに、utils ディレクトリの下の Redis ディストリビューションにある init スクリプトを /etc/init.d にコピーします。Redis のこのインスタンスを実行しているポートの名前でそれを呼び出すことをお勧めします。例: (Youdao Dictionary : Redis ディストリビューションの utils ディレクトリにある init スクリプトを /etc/init.d にコピーします。この Redis インスタンスが実行されているポートの名前で呼び出すことをお勧めします。例:)
sudo cp utils/redis_init_script /etc/init.d/redis_6379
- init スクリプトを編集します。(Youdao Dictionary: init スクリプトを編集します。)
#!/bin/sh # chkconfig 2345 90 25 # linux 开机启动设置 2345 运行级别 90 启动优先级(参考 memcached head /etc/rc.d/rc3.d/S90memcached ) 25 关闭优先级 (参考memcached) # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. ### BEGIN INIT INFO # Provides: redis_6379 # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Redis data structure server # Description: Redis data structure server. See https://redis.io ### END INIT INFO REDISPORT=6379 EXEC=/usr/local/redis/bin/redis-server # 修改为自己的可执行文件所在目录 CLIEXEC=/usr/local/redis/bin/redis-cli # 修改为自己的可执行文件所在目录 PIDFILE=/var/run/redis_${REDISPORT}.pid # 默认就好 CONF="/usr/local/redis/conf/${REDISPORT}.conf" # 修改为自己的配置文件存放目录 ···省略··· esac
redis.conf の変更を開始します。 -
使用しているポートに応じて REDISPORT を変更してください。pid ファイルのパスと構成ファイル名の両方がポート番号に依存します。ファイル名はすべてポート番号に依存します。)
daemonize
を yes に設定します (デフォルトでは no に設定されています) (yes に変更する必要があります) -
を設定しますpidfile
を /var/run/redis_6379.pid に変更します (必要に応じてポートを変更します) (デフォルトで十分です) -
必要に応じて port
を変更します。この例では、デフォルトのポートがすでに 6379 であるため、これは必要ありません。(デフォルトで十分です。クラスターのセットアップ時に構成ファイルをコピーしてポートをリセットする必要があります) #Set好みの loglevel (デフォルトで十分です)
logfile を /var/log/redis_6379.log に設定します (デフォルトは次のようです)空であるため、変更する必要があります)
dir を /var/redis/6379 に設定します (非常に重要な手順です!) (Redis データ ストレージ ディレクトリ。場所のカスタム パスを変更します)
sudo cp redis.conf /usr/local/redis/conf/6379.conf (独自に定義したディレクトリに変更します) 。 Redis 解凍ディレクトリの src ディレクトリにある上記のディレクトリ構造 redis.conf を参照してください)
sudo mkdir /usr/local/redis/data/6379
(独自に定義したディレクトリに変更します。上記のディレクトリ構造を参照してください)設定ファイルを編集し、次の変更を必ず実行してください: (Youdao Dictionary: 設定ファイルを編集します。次の変更を実行します:)
<pre class="brush:php;toolbar:false">注:上面的意思是让你们修改 /usr/local/redis/conf/6379.conf,用vim 打开,搜索上述关键词即可,参考以下设置(如果所有的步骤都是粘贴复制的走下来的,直接修改成下面这样:0.0):</pre> <pre class="brush:php;toolbar:false">port 6379 daemonize yes pidfile /var/run/redis_6379.pid loglevel notice logfile "/var/log/redis_6379.log" dir /usr/local/redis/data/6379</pre>
- 最後に、次のコマンドを使用して、新しい Redis init スクリプトをすべてのデフォルトのランレベルに追加します: (Youdao Dictionary: 最後に、次のコマンドを使用します)新しい Redis init スクリプトを [すべてのデフォルトのランレベルに追加] に追加します:)
# ubuntu sudo update-rc.d redis_6379 defaults
# centos chkconfig --add redis_6379
#これで完了です! これで、次のコマンドを実行してインスタンスを実行できます:
sudo /etc/init.d/redis_6379 start
Redis の停止と開始
yum インストール
- /etc/init .d/redis-server restart
- ソース コードをインストールする 3 つの方法
sudo /etc/init.d/redis_6379 start /usr/local/redis/bin/redis-server redis.conf # 注意此处缺省:配置文件路径 redis-cli -h 127.0.0.1 -p 6379 shutdown
注: ローカル Redis を停止するだけの場合は、次を実行してください:
redis-cli shutdown##kill -9 プロセス番号
- ##pkill redis
Rvm 安装 更换源
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - curl -L get.rvm.io | bash -s stable rvm user gemsets # 建立用户配置目录,更换源的时候需要向 db 文件写入配置信息 echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db # 更换源
Rvm Ruby 安装、使用、卸载
rvm list known rvm install 2.6 rvm use 2.6 yum -y remove ruby # 卸载centos yum 安装的 1.8 版本 ruby --version rvm uninstall ruby # 此处带不带版本自己测试
RubyGems 升级、更换源、安装redis
gem install rubygems-update rubygems-update gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ gem sources -l gem install redis
集群配置
注:下面的内容是我自己参考这篇博文加上我熟悉Redis安装后自己的配置过程。大家可以参考NrwLm - Redis 集群搭建详细指南。
开启 Redis cluster
cd /usr/local/redis/conf cp 6379.conf redis.conf.default # 用作集群其他配置文件的蓝本 sudo vim redis.conf.default
修改内容如下
bind 192.168.2.123 # 绑定当前机器 IP cluster-enabled yes # 取消注释,启动集群模式 cluster-config-file nodes-6379.conf # 取消注释,修改为 /usr/local/redis/data/6379/nodes-6379.conf (如果遇到需要重新建立集群,不将此项修改为指定路径而和启动配置文件放在一起,会导致建立集群时,删除重建conf 文件) cluster-node-timeout 15000 # 取消注释 appendonly yes # 将 no 修改为 yes
创建配置文件
cd /usr/local/redis/conf echo 9001.conf 9002.conf 9003.conf 9004.conf 9005.conf 9006.conf | xargs -n 1 cp -v redis.conf.default sed -i 's/6379/9001/g' 9001.conf sed -i 's/6379/9002/g' 9002.conf sed -i 's/6379/9003/g' 9003.conf sed -i 's/6379/9004/g' 9004.conf sed -i 's/6379/9005/g' 9005.conf sed -i 's/6379/9006/g' 9006.conf
创建数据存储文件
cd /usr/local/redis/data mkdir -p 9001 9002 9003 9004 9005 9006 # 后期可能需要删除该文件件下的文件,用于重建集群,所以,删除命令也写一下 rm -rf 900*/*
启动Redis cluster 节点
/usr/local/redis/bin/redis-server /usr/local/redis/conf/9001.conf /usr/local/redis/bin/redis-server /usr/local/redis/conf/9002.conf /usr/local/redis/bin/redis-server /usr/local/redis/conf/9003.conf /usr/local/redis/bin/redis-server /usr/local/redis/conf/9004.conf /usr/local/redis/bin/redis-server /usr/local/redis/conf/9005.conf /usr/local/redis/bin/redis-server /usr/local/redis/conf/9006.conf
创建集群
/usr/local/redis/bin/redis-trib.rb create --replicas 1 192.168.2.123:9001 192.168.2.123:9002 192.168.2.123:9003 192.168.2.123:9004 192.168.2.123:9005 192.168.2.123:9006
测试
执行命令: /usr/local/redis/bin/redis-cli -c -h 192.168.2.123 -p 9001
<img src="/static/imghwm/default1.png" data-src="https://img.php.cn//upload/image/755/105/520/1532744572918545.png?x-oss-process=image/resize,p_40" class="lazy" title="1532744572918545.png" alt="Redis クラスター構築チュートリアルの概要">
问题汇总
如果遇到timeout 请查看自己的防火墙,安装宝塔的尤其注意,请先去安全里面放行 9001:9006 的端口
redis集群 Waiting for the cluster to join 一直等待,redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口,集群总线端口为redis客户端连接的端口 + 1000
redis /usr/bin/env: ruby: 没有那个文件或目录
执行这个命令
rvm get stable --auto-dotfiles
,或者执行nvm list
有详细的错误说明(查了资料说,线上不要用rvm安装ruby)-
这是我自己的解决方案
# 把这个添加到 /etc/profile 文件中(放到最后就行) rvm use ruby-2.6.0-preview2
相关推荐:
以上がRedis クラスター構築チュートリアルの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

Dreamweaver Mac版
ビジュアル Web 開発ツール
