好久沒碰 Ruby on Rails 一碰就會有問題,也早就習慣了,昨天晚上把做好很久的網站 Deploy 到 Heroku,就又出現問題了!有些問題是原本就存在的,還是紀錄一下。
OSX 安裝 PostgreSQL
因為 Heroku 不支援 Sqlite,得另外安裝 PostgreSQL,而我原本以為有安裝應用程式,就不用特別再安裝,想不到還是出現錯誤了。
$ brew install Postgresql
安裝後還是出現錯誤
Error loading RubyGems plugin "/Users/alan/.rvm/gems/ruby-2.0.0-p353/gems/executable-hooks-1.3.2/lib/rubygems_plugin.rb": dlopen(/Users/alan/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/x86_64-darwin13.0.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method
Google 到的解決辦法就是 RVM 重裝
$ \curl -L https://get.rvm.io | bash -s stable —ruby
PostgreSQL Migrate Test
$ rake db:migrate RAILS_ENV=development
部署前準備
在 application.rb 設定
$ config.serve_static_assets = true
執行
$ rake assets:precompile
專案底下的 public/assets 就會出現打包好的 resource,要引入圖片,程式碼得這樣寫。
image_path("bg.jpg")
Deploy Heroku
都處理完畢就可以走正常流程部署到 Heroku 了。
$ heroku login
$ heroku git:clone -a PROJECT
$ git add .
$ git commit -am "make it better"
$ git push heroku master
啟動
$ heroku ps:scale web=1
部署完畢可以用 Terminal 看 log
$ heroku logs -t
重新啟動
$ heroku restart