EC2 に Node.js のインストール【Node.js, MongoDB インストールから Calipso インストールまで】
EC2 に Calipso のインストール手順を残すついでに Node.js, MongoDB のインストールも残しておきます。
1. サーバ設定
ロケールを日本時間に設定
$ sudo ln -f /usr/share/zoneinfo/Japan /etc/localtime
アプリケーションディレクトリのユーザ権限をhiguchiに譲渡
$ sudo su -
# chown -R higuchi:higuchi /usr/local/
$ ls -l /usr/ | grep local
drwxr-xr-x 12 higuchi higuchi 4096 Nov 30 10:48 local
2. node.jsのインストール
node.jsのダウンロード
展開
$ tar zxf node-v0.4.3.tar.gz
展開したディレクトリに移動
$ cd node-v0.4.3
configureしてみるがライブラリが足りない
$ ./configure
Checking for program g++ or c++ : not found
Checking for program icpc : not found
Checking for program c++ : not found
/usr/local/src/node-v0.4.3/wscript:232: error: could not configure a cxx compiler!
ライブラリopenssl-develのインストール
# yum install openssl-devel
sudo抜けて再度configureしてみる
# exit
$ ./configure
大丈夫そうなのでmake、インストール
$ make
$ make install
起動確認
$ node -v
v0.4.3
JSをコマンドラインで実行してみる
$ node
> a = { a:1, b:2, c:3 }
{ a: 1, b: 2, c: 3 }
> a
{ a: 1, b: 2, c: 3 }
> a,a
{ a: 1, b: 2, c: 3 }
> a:a
{ a: 1, b: 2, c: 3 }
> a.a
1
Webサーバをつくってみる
$ vi example.js
// start
var http = require('http');http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8124);console.log('Server running at http://127.0.0.1:8124/');
// end
実行
$ node example.js
[1] 2304
Server running at http://127.0.0.1:8124/
ブラウザで確認する。
http://自サーバのIP:8124/
PHP+MongoDB MAX値を取得する
メモ。
SQLで、たとえばpointが最大のuserを取得したい場合は、
SELECT * FROM user_collection WHERE status = 0 ORDER BY point DESC LIMIT 1;
のようになりますが、これをPHP + MongoDBでやる場合は、
$request = $collection_requests->find( array( 'status' => 0 ) );
$request->sort( array( 'point' => -1 ) );
$request->limit(1);
$request->next();
$request = $request->current();
となるみたいです。
もっとスマートなやり方があったら教えて下さい。
Androidのバックキー(戻るボタン)検出方法
Phonegap でもちゃんとバックキーイベントも取得できるようです。
// アプリケーションが立ち上がったら処理開始
function init() {
document.addEventListener("deviceready", onDeviceReady, false);
}// init()のdevicereadyが成功した場合のコールバック関数
function onDeviceReady(){
// phonegap 0.9.5 だとこっち
document.addEventListener("backbutton", backKeyDown, true);
// phonegap 0.9.4 だとこっち
document.addEventListener("backKeyDown", backKeyDown, true);
}// 戻るボタンが押された場合のコールバック関数
function backKeyDown() {
alert('戻るボタン!');
}
RockMongo のインストール
とりあえず設置するだけ。
ファイルのDL
$ sudo wget http://rock-php.googlecode.com/files/rockmongo-v1.1.0.zip
アーカイブファイルの解凍
$ sudo unzip rockmongo-v1.1.0.zip
MongoDBがデフォルト設定の状態で立ち上がっていればこのまま設置したURLにアクセスすればOK。
http://localhost/rockmongo/index.php
デフォルトのログインは以下。
UserName:admin
Password:admin
以上
PHP + MongoDB
Amazon EC2 Micro Instance上につくったLAMP(Linux + Apache + MySQL + PHP)環境に加えてMongoDBを追加したメモ。
1.ドライバーのインストール
$ sudo yum -y install php-pear php5-cli php-devel
$ sudo /usr/bin/pecl install mongo
2.PHPのエクステンションに組み込む
$ sudo vi /etc/php.ini
以下を追記
extension=mongo.so
3.Apacheの再起動
$ sudo /sbin/service httpd restart
以上。
Amazon EC2 マイクロインスタンスにLAMP環境(UTF-8)をつくる
ただ次回に楽するためののめも。
1.apache, MySQL, PHP, PHPのMySQLドライバのインストール
$ sudo yum -y install httpd php mysql mysql-server php-mysql
2.PHPの設定
$ sudo vi php.ini
以下をコメントアウトはずし変更する
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = Off
mbstring.substitute_character = none;
3.MySQLの設定
$ sudo vi /etc/my.cnf
以下を追加する
default-character-set = utf8
default-character-set = utf8[mysql.server]
4.起動設定
$ sudo /sbin/chkconfig httpd on
$ sudo /sbin/chkconfig mysqld on
5.起動
$ sudo /sbin/service httpd start
$ sudo /sbin/service mysqld start
6.MySQLのRootユーザPW設定
$ sudo mysqladmin -u root password 'パスワード'
以上。