2012年2月7日火曜日

Linux CentOS 5.4でPHPインストール

PHPバージョンは5.3.10
 wget http://jp2.php.net/get/php-5.3.10.tar.gz/from/jp.php.net/mirror
 tar xvzf php-5.3.10.tar.gz
 cd php-5.3.10/

configure実行。非常に多くのオプションがあるので、詳細については./configures --helpを参照。
 ./configure --with-apxs2 --enable-mbstring --enable-zend-multibyte --with-mysql
--with-apxsでApacheに組み込む。

apxs2やmysqlにパスが通っていない場合はフルパス指定, 64bitの場合は--with-libdir=lib64を指定する。
 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --with-zlib-dir=/usr/lib --enable-zend-multibyte --with-mysql=/usr/local --with-libdir=lib64

最後に下記MSGが表示されればOK
 Thank you for using PHP.

make実行
 make
 configure: error: xml2-config not found. Please check your libxml2 installation.
と表示されたので、libxml2-devel をインストール
 yum install libxml2-devel

改めて
 make

make testでコンパイルしたものが実行可能か確認する。
 make test

rootユーザにて、make install実行
 make install

php.ini-developmentを移動する。
※php.ini-productionは運用系のファイル
 [root php-5.3.10]# cp -p php.ini-development /usr/local/lib/php.ini

httpd-confに"AddType"がある部分に追加する。
 AddType application/x-httpd-php .php

Apache再起動
 /etc/rc.d/init.d/httpd restart

phpファイル配置
 /usr/local/apache2/htdocs/pigg/phpinfo.php
 <?php
     phpinfo();
 ?>

"hostsで設定したドメイン/phpinfo.php"にアクセスして、PHPの情報が表示されればOK.
 http://dev.pigg.ameba.jp/phpinfo.php

2011年11月12日土曜日

Linuxメモ その2


updatedb
ファイル名やコマンド名を格納した"slocate.db"というデータベースを作成する。
パスを度忘れした場合に便利。findだとデフォルトが配下の検索となり利便性にかける。
※ただし、findは検索にワイルドカードを利用できるため、状況に応じて使い分けること。

データベースは下記クーロン(パスは環境により異なる)により1日に1回定期的に更新されるが、マシンが常時起動中でないと正しく更新されないケースがあるため、新しく機能をインストールした場合は再度実行したほうがよい。
 /etc/cron.daily/slocate.cron

尚、updatedbコマンドはサーバ内のすべてのファイルをチェックするため、サーバの容量が多くなればなるほど時間がかかるため、下記の通りバックグラウンドで実行するか、

 updatedb &

インデックスする必要のないファイル・ディレクトリを除外するとよい。
 updatedb -e "【除外するディレクトリ】"
 updatedb -e "/tmp,/var/tmp,/usr/tmp"

locate
 locate [filename or directoryname]
前述のデータベース生成後、指定したファイル名 or ディレクトリ名で検索する。
※もちろん、"find / -name [ファイル名]"でも全検索は可能だが、locateのほうが高速。

2011年11月1日火曜日

DeNA松信氏講演 MySQL MHA説明会(2011/09/13)

標題の通り、DeNAの「MySQLスペシャリスト Oracle ACE Director」の松信嘉範氏の講演を聞いた。

★オープンソースMySQL MHA(http://code.google.com/p/mysql-master-ha)について
 ・MHAはMobageの150系統を超えるマスター・スレーブペア環境に導入されている。
  滅多にクラッシュすることはないが、OSやH/W障害で落ちる。
  OSダウン検知は、ダウン検知に10秒、フェイルオーバーに4秒程かかる。
 ・IP切り替えは環境に依存するため外部スクリプトで提供している。
 ・スレーブのずれに関していえば、5.5の準同期レプリケーションを組み合わせれば、データ消失をほぼ防げる。
 ・その他、遅いトランザクションを発見するツール(slow-queryではなく)の紹介

★サービスの増強と縮退について
 ・ゲームタイトルの人気を正確に見積もることは困難
  想定外の人気が出た場合はスレーブを追加し、水平分割によりマスターを追加する。
 ・ダウンタイムなしでマスタを切り替えるには、
   1.更新を一時止める
   2.マスターから既存スレーブにレプリケーション完了したことを確認する。
 MHAではこれらを0.5~3.0秒で1クリックで行うことができる。かつ、データの不整合が起きたことは一度もなし。



松信氏は他にもこんなことを述べていた。

 ・オープンソース製品を使うことでコストダウンにつながり、結果会社に貢献することができる。
 ・技術を発信することはサービス企業の義務


勉強になります!


---------------------------------------------------------
松信 嘉範Yoshinori Matsunobu

MySQLスペシャリスト Oracle ACE Director

2006年から2010年8月まで、MySQL開発元のMySQLAB(現オラクル)にて、日本およびアジアのリード・コンサルタントとして従事。
100を超える国内外の顧客に対してMySQLパフォーマンスチューニング、高可用ソリューションなどを提供してきた。
2010年9月からDeNAにて「MySQLスペシャリスト Oracle ACE Director」。
主な著書に「Linux-DBシステム構築/運用入門」や「現場で使えるMySQL」などがある。

2011年9月14日水曜日

Linuxメモ その1

ps aux
ps はアクティブなプロセスのうち選択されたものの情報を表示する。

a
「自分自身のみ」というBSD形式の制約をなくす。
x
上記 a オプションと共に指定すると、全てのプロセスをリストする。
u
ユーザ指向のフォーマット。

把握しているユーザ名を指定して、利用ユーザのIDを確認するには
id [ユーザ名]
uid=[ユーザID](ユーザ名) gid=[グループID](ユーザ名) 所属グループ=[所属グループID](ユーザ名)

ps aux | grep java

Javaプロセスが生きているか調べる。



ps auxで表示される内容
PID:プロセスID
%CPU:プロセスが使用しているCPU時間の割合
%MEM:プロセスが占めるメモリーの割合
VSZ:仮想メモリ上の使用量
RSS:実メモリ上の使用量
STAT:プロセサの状態(STATE)を表示
最初の1文字目が現在の状態
R:実行可能状態,S:スリープ状態,D:I/O待ち状態,Z:ゾンビ状態

2011年6月11日土曜日

Androidアプリ開発 〜環境構築〜

転職活動が収束を迎えつつあるので、
久しぶりにブログを更新できます。


今回は、下記記事を元にAndroidアプリ開発のための環境を構築していきます。

************************************
世界を目指せ!Androidアプリ開発入門
http://gihyo.jp/dev/serial/01/androidapp/0002
************************************

詳しくは上記サイトに沿っていけば環境設定できると思います。

Macで作業を行うにあたっては、
下記の通り、ターミナルから.bash profileファイルを作成し、
ファイル内にAndroid SDKのパスを指定します。

export PATH= $PATH:Developer/andrid-sdk/tools
エミュレータ起動するとこんな感じ。
次回から簡単なアプリ開発編です。