この記事では、Redis、phpredis(php用Cモジュール)、phpRedisAdminを戦闘サーバーで動作するように準備する方法について説明します。
すべてを完全に収集するには、サーバー上にある必要があります。
- gcc 4.5.2(このバージョンでコンパイルしましたが、他のユーザーには問題ないと思います)
- 3.81を作る(繰り返しますが、このバージョンは基本的なものではありません)
- php5-dev(バージョンはphpバージョンと一致する必要があります)
すべての依存関係が満たされていることを確認した後、すべてのコンポーネントの収集を開始します。
以下が必要です。
- Redis 2.4.4安定
- phpredis 2.1.3
- 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を上げることができました。