15分でバトルサーバーにRedis + Redis PHP + phpRedisAdminをインストールする

誰もが、最高のバイナリファイルがこの特定のコンピューターでコンパイルされたものであることを長い間知っています。 また、パフォーマンスに関しては、このコンピューターでコンポーネントをコンパイルすると、速度と安定性の面でメリットがあります。

この記事では、Redis、phpredis(php用Cモジュール)、phpRedisAdminを戦闘サーバーで動作するように準備する方法について説明します。

すべてを完全に収集するには、サーバー上にある必要があります。


すべての依存関係が満たされていることを確認した後、すべてのコンポーネントの収集を開始します。
以下が必要です。


Redisをまとめる


大根を収集するには、ソース自体が必要です。 githubから入手できます。 だから
https://github.com/antirez/redis/zipball/2.4.4正しいタグをすぐにロードします。

$ wget https://github.com/antirez/redis/zipball/2.4.4 $ unzip 2.4.4 $ cd antirez-redis-04bba69 


Redis 2.4.4のソースはすべて揃ったので、コンパイルする必要があります。
すべてが非常に簡単です
 $ make $ make test 


最初のチームはRedisを組み立て、2番目のチームはRedisのパフォーマンスをテストしました。
テストの作成には長い時間がかかります(約2分)。 テスト後、「\ o /エラーなしですべてのテストに合格しました!」という行が返されます。

Redisが収集され、ゴミをクリアして大根を目的のディレクトリに移動します。
コンパイルされたすべてのRedisを/ usr / bin / redisフォルダーに移動します。 Redis-serverを起動するには、/ usr / binにredis-serverシェルファイルを作成します。

/ usr / bin / redisのRedisファイルを削除します


ソースコードが存在するantirez-redis-04bba69フォルダーに残ります
 $ sudo mkdir /usr/bin/redis $ sudo cp src/redis-benchmark /usr/bin/redis $ sudo cp src/redis-check-aof /usr/bin/redis $ sudo cp src/redis-check-dump /usr/bin/redis $ sudo cp src/redis-cli /usr/bin/redis $ sudo cp src/redis-server /usr/bin/redis $ cd .. $ rm -rf antirez-redis-04bba69 

Redisからすべてのファイルをコピーし、ソースフォルダーを削除しました。もう必要ありません。
最後のチームに注意してください! 彼女にはsudoは必要ありません。フォルダはすでに所有しています。

ここで、redis-serverを実行するファイルを作成する必要があります。

 $ sudo vim /usr/bin/redis-server 


vimの代わりに、他のエディターを使用できます。 これは重要ではありません。
ファイルに貼り付けます:
cd / usr / bin / redis && ./redis-server redis.conf
保存して閉じます。

このファイルを実行する権限が必要です。
 $ sudo chmod 755 /usr/bin/redis-server 


redis.confを取得するために残ります
 $ cd /usr/bin/redis/ $ sudo wget https://raw.github.com/antirez/redis/unstable/redis.conf $ sudo vim redis.conf 


Redis.confが読み込まれますが、構成はそのままです。
構成ファイルで置換

daemonize no yesをデーモン化する#デーモンのように動作させます
timeout 0〜timeout 30#バグの場合、切断しないクライアントはRedisメモリで永久にフリーズします
ログレベル警告に関するログレベル通知#バトルサーバー、最小限のデバッグメッセージがあります
166行目はコメントを外し、パスワードを設定する必要があります。たとえば、requirepass foobared
350行目にコメントしますが、必要ありません。

保存して閉じます。

発射!


すべてが正しく行われた場合、サーバーを起動します
 $ redis-server $ telnet localhost 6379 


理論的には、Redisからの招待が表示されるはずです
127.0.1.1を試す...
ローカルホストに接続しました。
エスケープ文字は「^]」です。

あなたがそれを受け取った場合、すべてが正常であり、Redisが動作します。

テストサーバー


今、ソケットでRedisと話をしています。
ログイン:
 AUTH mypassword 


テスト値を設定する
 SET testkey testvalue KEYS * #    GET testkey #    testvalue QUIT 


すべてがうまくいけば、サーバーは動作しており、これで完了です。 システムの起動時に起動コマンドを設定し、それだけです。

Redis + PHP5。 PHP用のモジュールのコンパイル


ここでも、すべてが非常に単純なので、コマンドに従うだけです。
 $ cd ~ $ wget https://github.com/nicolasff/phpredis/zipball/2.1.3 $ unzip 2.1.3 $ cd nicolasff-phpredis-43bc590 

ここではコメントは必要ないと思います。

現在、redis.so拡張機能を収集しています。
 $ phpize $ ./configure CFLAGS="-O3" $ make clean all 

これで、redis.soファイルがモジュールフォルダーに表示され、必要になります。

 $ sudo cp modules/redis.so /usr/lib/php5/<date> $ cd .. $ rm -rf nicolasff-phpredis-43bc590 

<date>は、20090626のようなフォルダー名に変更します。

次に、Redis.soに関するphp情報を提供します
したがって
 $ sudo vim /etc/php5/apache2/conf.d/redis.ini 

そしてextension = redis.soと入力します
必要に応じて、phpのインストール方法とRedisでの使用方法に応じて、apache2をcli、cgiなどに置き換えます。

次に、apache2を再起動して、テストphpファイルに書き込みます。
 $redis = new Redis(); $redis->connect('localhost:6379'); 

Redisクラスが存在しないというエラーがクラッシュしない場合、すべてが正常です。

テストをPHPで直接ベンチマークしてみましょう。
 try { $redis = new Redis(); $redis->connect('localhost:6379'); } catch(RedisException $e) { exit('Connect error'); } $benchmark = microtime(true); for($i=0;$i < 80000; $i++) $redis->set('key','value'); echo microtime(true) - $benchmark; 


2.6秒で80,000件のリクエストが処理されたという情報を得ました。

これでphpは完了です。 次はphpRedisAdminです。

phpRedisAdminをインストールする



phpRedisAdminのインストールは絶対に不要ですが、データを視覚化しても害はありません。

git adminパネル自体からダウンロードします。
 $ cd /var/www $ git clone git://github.com/ErikDubbelboer/phpRedisAdmin.git redisadmin $ cd redisadmin $ chmod 755 -R /var/www/redisadmin 


/ var / wwwにredisadminフォルダーを作成します。 最初にredisadminで許可が拒否されているため、ファイル許可を追加します。

サイトをネットワークから開くことができるように、Webサーバーを構成することを忘れないでください。
しかし、本番環境でredis adminを使用することは安全ではないため、すべてのpr索好きな目のためにパスワードでそれを閉じる必要があります。

 $ vim config.inc.php 

行11のコメントを外し、サーバーのパスワードを設定する必要があります。

次に、36行目から46行目までブロックのコメントを解除し、phpRedisAdminの入力時に要求される管理者パスワードを割り当てます。

利益!
15分で、Redisサーバーを上げ、PHPで動作するように構成し、phpRedisAdminを上げることができました。

Source: https://habr.com/ru/post/J134974/


All Articles