子育て情報アプリを作れるように vol13 ~放浪する~
前回までで、
- サイトをクロールして
- 子育て情報を収集し、
- タグを自動生成して
- データベースに保存する
ところまで終わりました。
次は
このクローラーをherokuというサービスを利用して
定期的に実行させようと思い、
herokuの使い方について調べていました。
すると、問題発覚…
- 無料版はデータベースに10000レコードまで保存できる
- herokuではファイルを保存できない
(アイドル状態になった時に全部消える)
私のクローラーは実行する度に、
タグを自動生成させるためのファイル(parenting-tfidf.json)を更新しますので、
ファイルが消えてしまうと問題です。
また、クローラーで収集したデータはどんどんデータベースにためていくので、すぐに足りなくなりそうです。
うーん、どうしよう。
無知すぎた笑
で、この後も色々と調べたり悩んだ結果
AWSを有料で使う
事に決めました。
(どれくらいお金かかるんだろう…)
ただし、
お金がかかるので、すぐには使わずに
まずはローカルでサーバを立てて
運用し、クローラーの完成度を高めてから
AWSを使う事にします。
ということで、
今回からローカルサーバでの運用について書いて行こうと思います。
今回の目標
- Vagrantを使う
1. Vagrantを使う
(1) まずは情報収集
クローラーをサーバで、運用する方法については
クロ本の最後のChapterに書いてあります。
もはや、私の中のバイブルですね。
あと、ドットインストールというサイトでVagrant入門というのがありますので、
そちらも視聴しました。
dotinstall.com
Vagrantは仮想マシンを管理するためのツールです。これがあるとすごく便利だそうです。
仮想マシンは別途必要なので無料のVirtualBoxを使っていきます。
ちなみにVagrantの意味を調べたところ「放浪する」という意味でした。
何でだろう笑
(2) インストール
特に難しいことはありません。
VagrantもVirtualBoxも公式サイトから
Mac版をダウンロードしてきてインストールするだけでした。
(3) OSの準備
続いて、
VirtualBoxにインストールするOSを用意します。
http://www.vagrantbox.esというサイトで
色んなOSのテンプレートが配布されていますのでこちらを使っていきます。
ただし注意点があります。
このサイトは公式サイトではありません。
分かりやすく言うと
テンプレートにウィルスを埋め込まれている可能性を否定できないという事です。
なので、利用する場合は自己責任でお願いします。
今回は、
クロ本に書いてあるテンプレートなら安全だと思われるので、自己責任で使ってみたいと思います。
(4) 仮想マシンをセットアップする
まずは上記(3)で説明したOSのテンプレートを登録します。
$ vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box
続いて、仮想マシンを初期化します。
$ mkdir centos65-parenting-crawler $ cd centos65-parenting-crawler $ vagrant init centos65
初期化する前に仮想マシンの設定を格納するディレクトリを作ります。
今回は、作成した子育て情報クローラーを動かすためのサーバなので、
centos65-parenting-crawler
と付けます。(長い・・・)
次は起動します。
$ vagrant up
次は接続
$ vagrant ssh
ここまでで、無事に仮想マシンへの接続まで終わりました。
ちなみに、
Vagrantには他にもコマンドがありますので一覧にしておきます。
コマンド | 説明 |
---|---|
vagrant box add [name] [url] | boxの登録 |
vagrant init [name] | 仮想マシンの初期化 |
vagrant status | 仮想マシンの状態を確認 |
vagrant up | 仮想マシンの起動 |
vagrant halt | 仮想マシンの終了 |
vagrant suspend | 仮想マシンのスリープ |
vagrant resume | 仮想マシンの復帰 |
vagrant reload | 仮想マシンの再起動 |
vagrant destroy | 仮想マシンの削除 |
vagrant ssh | 仮想マシンに接続 |
vagrant box remove [name] | boxの削除 |
今回はこの辺で。
はじめは、
「Vagrantなんてよく分からない」
と作業するのをためらってましたが、
やってみたらそんなでもなかったです。
何事もとりあえずやってみるのが大事ですね。
次回は
クローラーを動かすために必要なOSの設定を行っていきます。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: るびきち,佐々木拓郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/25
- メディア: 大型本
- この商品を含むブログ (8件) を見る