1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsチュートリアルやってみた v5.1.4

Last updated at Posted at 2018-03-28

メモ書き程度に詰まったところなど、更新していきます。
更新は大分ゆっくりになると思います。

やること

https://railstutorial.jp/
上記サイトを参考にチュートリアル終了まで進める。

リポジトリ

https://github.com/kzyamax/rails-tutorial

環境構築 (Vagrant)

チュートリアルではCloud9推奨ですが、同時にインフラ構成も理解したいので、環境構築にはVagrantを使います。
Dockerは勉強中です。別で記事にするかも。

構成

  • CentOS (6.9)
  • Nginx
  • puma
  • Ruby (2.4.3)
  • RubyOnRails (5.1.4)

※上記構成の予定(更新中)

つまったところ

Rubyがmakeできない

最初、何も考えずに最新版Ruby2.5.0をinstallしようとしたら

スクリーンショット 2018-03-28 10.48.16.png

どうやらCentOS6.9にはRuby2.5.0はinstallできない模様。2.5.1では治るらしいよ。
(参考:https://bugs.ruby-lang.org/issues/14234)

妥協して2.4.3で進めます。

補足:VagrantfileのRubyのverを2.5.0に書き換えると再現できます。興味ある方は一度お試しください。

Nginxがpumaのsockを参照できない

2018/03/30 05:00:22 [crit] 8985#8985: *5 connect() to unix:///home/vagrant/hello_app.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.33.1, server: rails-tutorial, request: "GET /hello_app/ HTTP/1.1", upstream: "http://unix:///home/vagrant/hello_app.sock:/hello_app/", host: "rails-tutorial"
2018/03/30 05:00:22 [error] 8985#8985: *5 open() "/etc/nginx/html/500.html" failed (2: No such file or directory), client: 192.168.33.1, server: rails-tutorial, request: "GET /hello_app/ HTTP/1.1", upstream: "http://unix:///home/vagrant/hello_app.sock/hello_app/", host: "rails-tutorial"

原因はpumaサーバを起動するユーザと、Nginxを起動するユーザが異なることによるpermissionエラー

nginx.confのuserをvagrantに書き換えてrestartしたら繋がりました。

hello_app

さて、実際の開発に入ります。

つまったこと

rails-serverが立ち上がらない

[vagrant@rails-tutorial hello_app]$ rails server
/usr/local/src/rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/bundler-1.16.1/lib/bundler/runtime.rb:84:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
Backtrace for gem load error is:
・・・
・・・

Gemfileにgem 'therubyracer'を記載してbundle installしたら立ち上がりました。

toy_app

つまったこと

特につまることもなく終了

sample_app

更新中

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?