NodeJSをEC2に設定しようとしています。NodeJSがAWS EC2を構築するのに永遠にかかります
私は公式ガイドに従って、私のローカルマシンで成功しました。しかし、EC2上でソースコードをコンパイルすると、それは終わりまで(2時間とカウント)永遠にかかります。私はそれはCPUの制限やタイムアウトと関係があると思います。
私はLinuxとmakefileに慣れていません。それを回避する方法はありますか?ありがとう、
NodeJSをEC2に設定しようとしています。NodeJSがAWS EC2を構築するのに永遠にかかります
私は公式ガイドに従って、私のローカルマシンで成功しました。しかし、EC2上でソースコードをコンパイルすると、それは終わりまで(2時間とカウント)永遠にかかります。私はそれはCPUの制限やタイムアウトと関係があると思います。
私はLinuxとmakefileに慣れていません。それを回避する方法はありますか?ありがとう、
私はあなたがマイクロインスタンスを使用していると思います。うん、それはしばらく時間がかかるだろう - マイクロインスタンスはしばらくの間CPUの多くを取得し、しばらくの間CPUを使用すると、ひどく制限されます。 node.jsのコンパイルはCPUを大量に使用します。
明るい側では、1度だけ行う必要があります。完了したら、AMIを作成して、node.jsをあらかじめインストールしておき、好きなだけ多くのサーバーを起動できます。
ディストロはありますか? Ubuntuのに10.04 LTSを使用してI'am(t1.microのAMI-ad36fbc4)
私はnodejsのプリコンパイルされたバージョンとzipファイルを持っている、これはコンパイル時に私はそれを必要とする次の時間をスキップして、私はでき作ります!
このスクリプトをrootとして実行するか、userdataフィールドに入力します。
#!/bin/bash
apt-get update -y
apt-get upgrade -y
apt-get install -y \
git-core build-essential \
openssl \
libssl-dev \
zip \
--fix-missing
git clone http://github.com/joyent/node.git && cd node
git checkout v0.4.12
./configure
JOBS=2 make
cd
zip -r node-v0.4.12-c.zip node
git clone http://github.com/isaacs/npm.git && cd npm
git checkout v1.0.104 && make install
cd ../
rm -rf npm
rm -rf node
mkdir s3-uploader && cd s3-uploader
npm install knox
cat <uploader.js>> EOF
var
knox = require('knox'),
fs = require('fs');
var client = knox.createClient({
key: 'S3_API_KEY'
, secret: 'S3_API_SECRET'
, bucket: 'S3_BUCKET_ID'
});
fs.readFile('../node-' + process.version + '-c.zip', function(err, buf){
var req = client.put('node-' + process.version + '-c.zip', {
'Content-Length': buf.length
, 'Content-Type': 'text/plain'
});
req.on('response', function(res){
if (200 == res.statusCode) {
console.log('saved to %s', req.url);
}
});
req.end(buf);
});
EOF
node uploader.js
は、あなたはあなたがこの1 UserDataのインスタンスに配置する必要が同じインスタンスを実行する最初のサーバーと次回を終了し、コンパイルをスキップすることができます。
#!/bin/bash
wget –O node-v0.4.12-c.zip https://s3.amazonaws.com/[your-bucket-name]/node-[your-nodejs-version]-c.zip
unzip node-[your-nodejs-version]-c.zip
cd node
make install
cd ../
rm -rf node
rm -rf node-[your-nodejs-version]-c.zip
こんにちはkilianc、どのように私はコンパイルNodeJSを得ることができますか?私はあなたのようにローカルにmakeコマンドを実行してからS3にアップロードしました。私はサーバー上で "インストール"をしようとすると、エラーメッセージを出しました。 –
あなたはコンパイルし、リモートからアップロードする必要があります! S3バケットとt1.micro ubuntuインスタンスが必要です。同じAMIでnodejをコンパイルする必要があります。大きなインスタンスからコンパイルしようとすると、約3/4分かかります。あなたはどちらのディストロをしていますか? – kilianc
それはUbuntu AMIでした。それから、プライベートAMIを作って再起動したので、元のIDは持っていません。 –
EC2マシンで "ps ux"を実行して、どのプロセスがローカルユーザーで実行されているか確認できますか?コンパイルがどこで停止したのかを知る手がかりになるかもしれません。 – Nican
EC2マイクロインスタンスでNodeを5〜6回コンパイルしましたが、毎回10〜12分以上かかることはありません。 – alessioalex