× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
動くWebサーバを高速で立ち上げる練習
AWSの作業 まず、awsの自分のアカウントでEC2をLaunch。 設定はまあ適当でいいでしょう。m1.microで。 ただm1.microは立ち上げに時間がかかると中の人から聞いたことがあってやや不安。9:30に起動して、Initialize終わったのが9:32。普通じゃん。 鍵は新しいの作ってダウンロードしておく。 $ mv ~/Download/***.pem ~/.ssh $ chmod 400 .ssh/***.pem EC2コンソールから、インスタンスのPublic IPを確認して $ vi ~/.ssh/config にも書いておこう あと、セキュリティグループの設定もお忘れなく。 HTTP ポートを空けておこう。デフォルトだとSSH しか開いてないからね。 環境確認 とりあえず慣れてるrailsにしてみる。 参考 http://tsuchikazu.net/linux_ruby_on_rails_install/ $ sudo yum update $ sudo yum install git -y Ruby rubyは最初から入ってるんだよねー。 $ ruby -v => ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux] このバージョンでいいの?はあとの話。 rails でもrailsはない。 $ gem search -r rails でgemが検索できるよ。railsは大量にある $ gem install rails でインストールする。ドキュメントをインストールしないオプションをつけると倍速だって。 $ gem install rails --no-ri --no-rdoc あとからドキュメントがほしくなったら $ gem rdoc --all --ri とするとインストール済みの全部のgemのドキュメントがインストールできる。だから $ gem rdoc rails --ri とかでいいのかな? http://easyramble.com/no-ri-no-rdoc.html とりあえずインストール完了。 $ rails -v =>Rails 4.1.0 じゃあrailsアプリ作ってみよう。 $ rails new first => /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- io/console (LoadError) : : なんぞこれ。 うーん rails その2 http://qiita.com/dahugani/items/858b3979c0da8ecafdbb こっちのページに乗り換えてみよう。 違いはなんぞ?というと、rubyのバージョン。 前のサイトだと、rbenvをインストールしてrubyのバージョンをあげようとしていたけど、なぜかrbenvが動かない。(rubyのインストールがエラーになる) まあ、自分が慣れてるのもruby 1.9.xでrails 3.xだし、それでいこう。 というわけでこのページの通りに進めてみる。 wgetのとこだけアクセスできなかったので、 ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz に変えた。 意外と順調。 しかし $ rails new myapp が失敗。 OpenSSLのエラーが起きる $ yum install openssl-devel -y $bundl install Could not load OpenSSL. You must recompile Ruby with OpenSSL support or change the sources in your Gemfile from 'https' to 'http'. Instructions for compiling with OpenSSL using RVM are available at http://rvm.io/packages/openssl. うーん。どうしよう。探しても同じ問題にあたってる人あまりいない。 $ yum search openssl-devel でもほかのバージョンない。っていうかdevelの問題じゃなくてrubyのソースの問題だし。 ということは、rubyのソースを再インストール?というか再getして再makeして再install? 再びruby 1.9.3-p392を入れてたんだけど、 1.9.3の最終版は1.9.3-p545らしい。 バージョンを消す方法 srcディレクトリの.installed.list にファイルが列挙してある野で、それを全部削除する $ sudo su - root $ cat .installed.list | xargs rm 参考 http://d.hatena.ne.jp/mikage014/20091021/p1 アップデートの場合は要らないかもね。このサイトはバージョンを下げたみたいだから で、もう一度手順繰り返す。 $ cd ~/src $ wget http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p545.tar.gz $ tar xzf ruby-1.9.3-p545.tar.gz $ cd ruby-1.9.3-p545.tar.gz $ ./configure $ make $ make test $ sudo su - root $ make install $ ruby -v => 1.9.3-p545 お、いけた。 もう一度新しいappを作る $ rails new second $ bundle install いける。 ただワーニングが出た \Warning: You're using Rubygems 1.8.23.2 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance. * bin/rake: spring inserted * bin/rails: spring inserted rubygemsが古いと。その古いバージョンで入れたとあるgemがまた古いと。 $ gem -v => 1.8.23.2 なんで、gemをアップデートしてみる $ sudo gem install rubygems-update $ sudo su - root $ update_rubygems $ gem update $ gem -v => 1.8.23.2 あれ、かわってない。…ひとまず置いとこう gem自体のアップデートは要注意らしい。以下参考 http://ja.verbmode.net/2009/02/09/be_carefull_with_gems_verup http://tacamy.hatenablog.com/entry/2013/03/31/230553 ともあれ、appはできてるので、サーバたてよう $ rails s が、失敗。javascriptの何ぞかが見つからないとか。 gemが足りてないのだな。 $ vi Gemfile gem 'therubyracer', platforms: :ruby という行のコメントを外す $ bundle install これでgemが入った。 再度 $rails s さあ、ブラウザでアクセスしてみよう。デフォルトのポート番号は3000だよ。気をつけて。 http://XXXX:3000/ ようこそ、railsの世界へ! PR |
|