2010-01-01から1年間の記事一覧
cd /usr/local/src/ wget http://askmonty.org/downloads/r/http://mirrors.fe.up.pt/pub/mariadb/mariadb-5.1.53/kvm-tarbake-jaunty-x86/mariadb-5.1.53.tar.gz tar xvzf mariadb-5.1.53.tar.gz cd mariadb-5.1.53 ./configure \ --prefix=/usr/local/mari…
php-fpmを起動すると以下のようなエラーが発生!! Starting php_fpm Oct 15 12:15:18.755094 [ALERT] [pool www] pm.min_spare_servers(0) must be a positive value Oct 15 12:15:18.755148 [ERROR] failed to post process the configuration デフォルト…
新たにcurlのセットアップするにあたりlibssh2がダウンロードできなくなっていたので、最新版をインストールする wget http://www.libssh2.org/download/libssh2-1.2.7.tar.gz tar xvzf libssh2-1.2.7.tar.gz cd libssh2-1.2.7 ./configure \ --prefix=/usr/…
nginxのインストール方法は過去の記事を見ていただくとして、ここではソースからインストールした場合の設定とする。 /usr/local/nginx/run #!/bin/sh exec 2>&1 exec /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -g 'daemon off;' リ…
daemontoolsを入れたからには、ucspi-tcpももちろんインストール cd /package wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz tar xvzf ucspi-tcp-0.88.tar.gz wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch c…
http://i.t7c.jpのセットアップを兼ねて、daemontoolsのインストール方法をまだブログに書いてなかったようなので書いてみました。 mkdir -p /package chmod 1755 /package cd /package wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz tar xvzf …
supervise配下だと、WEBサーバの起動・停止・再起動・コンフィグテストが面倒なのでdjb流に設定ファイルのディレクトリに以下のようなMakefileを作っておく /usr/local/nginx/conf/Makefile test: /usr/local/nginx/sbin/nginx -t start: test svc -u /servi…
2ヶ月ほどご無沙汰しておりました。7citです。新ブログに移行するといってから、大分時間が経ってしまいました。 近日中に以下のURLに移行致します。http://i.t7c.jp/ドメイン取得から、1ヶ月ほど経過してしまっているのは内緒です。これとは別に、デザイン…
Linux 2.6.13 kernelで実装された inotify をphpで使用するextensionをインストール。まだbeta版なので、インストール時には-betaを付ける
Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成できるというimlib2のphpのextensionであるphp-imlibを入れてみる。インストール方法についてはこちらを参考にした。peclに登録されていないので、自前でsvnレポジトリを落としてきて入れる必…
Perl互換の正規表現ライブラリPCREをインストール cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gz tar xvzf pcre-8.10.tar.gz cd pcre-8.10 ./configure && make && make install これもGNU標準のインスト…
phpのfpmをインストールしたからには、非同期IOを使った高速WEBサーバーnginxをインストールしてみましょう。URLのrewriteに正規表現ライブラリPCREが必要なので予め入れておきます。 cd /usr/local/src wget http://nginx.org/download/nginx-0.8.52.tar.gz…
libeventはmemcachedで使われていることで有名な『非同期IOライブラリ』です。 今回、php のfpmのコンパイルに必要だったのでlibevent 1.4系の最新のものをインストールしました。 wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz tar xv…
fpm(FastCGI Process Manager)はphpでFastCGIを使うための実装の一つです。php 5.3.3でfpmが標準で使えるようになったので使ってみる。今まではphpにパッチを当てる必要がありました。ただし、標準になったとはいえ、PHPのコンパイル時にオプションの設定が…
ご無沙汰しております。IT7Cです。MySQL*1でgeohashのUDFがなかったので自作してみました。間違い等あると思いますが、とりあえずソースを晒して寝ます。メモリーリークとかあるかもしれないので、本番環境に入れるのはやめて下さい。あとで、コードレビュー…
WEBアプリケーションで、ページャーにてページ分割をする場合、MySQLではLIMITを使うことになりますが、その際に全体のページ数を計算する為に、対象レコードするを取得する必要があります。この対象レコード数をMySQLのSQLで実現するメジャーな方法として、…
mysqlにperlインタプリタを組み込んでみるこちらのエントリーを参考にしてmysql内でperlインタプリタを実行できるようにインストールを試みる。 まずは上記エントリーのソースを/usr/local/srcに、p.cで保存する。 コンパイル cd /usr/local/src perl -MExtU…
今度は先のbase64のUDFを元にbase32のUDFを作ってみます。
UDFの勉強を兼ねて前回のエントリーUDF base64_encodeからUDF urlsafe_base64_encodeを作ってみます。URLSafeなbase64の解説については奥さんのエントリーを見ていただくとして、先のエントリーの+を-、/を_に置換し、関数名にプレフィクスurlsafe_を付けて…
前回はbase64_encodeしか入れられなかったので、別のbase64のUDFのインストールを試みる。前回はgccのライブラリを使うものだったが、今回はphpのソースからの移植のようだ。 cd /usr/local/src wget http://bugs.mysql.com/file.php?id=3294 -O base64.c gc…
groonga ストレージエンジンはgroognaをストレージエンジンとして動作させるプラグインです。今までMySQLで日本語全文検索というと、Senna+Tritonnという形でしたが、今後はSennaの後継 groogna+groogna ストレージエンジンがデファクトとなっていくのかも…
groongaは、全文検索エンジンSennaの後継であり、位置情報を格納できるといった特徴を持つKVS*1です。こちらをcentosにインストールしてみましょう。日本語の形態素解析が必要な場合事前にMeCabのインストールが必要となります。 cd /usr/local/src wget htt…
CentOSに形態素解析ライブラリMeCabをインストールします。 ダウンロード MeCab本体とIPA辞書をダウンロード wget 'http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmecab%2Ffil…
UDFの勉強を兼ねてshimariso さんが作成したUDF base64のMySQLに Base64エンコード関数が無くてムカついたから作ったこちらをインストールしてみる。 cd /usr/local/src git clone git://gist.github.com/361481.git cd 361481 g++ \ -I /usr/include/glib-2…
正規表現ライブラリといえば、Perl準拠のPCREが有名ですが、プログラミング言語RUBY*1で採用されているマルチバイト正規表現ライブラリ鬼車をインストールしてみる。 wget http://www.geocities.jp/kosako3/oniguruma/archive/onig-4.7.1.tar.gz tar xvzf on…
MySQLのデフォルトの正規表現検索 REGEXPでは日本語を扱えないので、UDF*1でこれを実現したmregexp - MySQLで日本語の正規表現を扱うをMariaDBにインストールしてみる。尚、MariaDB 5.1はMySQL 5.1相当なので、動作検証はされていない。 事前に4.x系の鬼車が…
以下のORDER BY RAND()を使ったランダム取得は便利なのですが、インデックスが使用されず、フルスキャンになる為パフォーマンスが思わしくありません。 SELECT * FROM user ORDER BY RAND() LIMIT 1 いくつかのこの問題を解決するアプローチがありましたが、…
前々回のエントリー、HANDLER構文と同じくHANDLERを使ってストレージエンジンを直接操作するといったところは同じなのでこれをベースにして、handlersocket pluginではさらに低レベルの操作が可能になっています。またHANDLER構文と違って、参照系だけでなく…
DO構文 例えば、mycacheのポートを立ち上げる場合などで結果が必要ない場合などに便利です。 SELECT mycached_start(inet_aton('127.0.0.1'), 11211, 4) ↓ DO mycached_start(inet_aton('127.0.0.1'), 11211, 4) SLEEP SELECT SLEEP(10) ↓ DO SLEEP(10)
今回は、handlersocket pluginの元となるものといっても差し支えのないHANDLER構文について解説したいと思います。HANDLER構文はMySQLのストレージエンジンを直接操作するSQLです。1つのSQL文をMySQLに投げた時の内部処理*1を実行できるイメージです。具体的…