我想在這裏部署我的第一個Rails應用程序,而且自從昨晚以來我一直被困在某些東西上。我遇到了一些我無法解釋的奇怪行爲。我正在運行Rails,Apache,Phusion Passenger,而現在,SQLite 3(我將馬上移到MySQL)。目前,這是託管在運行Ubuntu Server的太小的EC2切片上11.04(Natty)。Rails環境部署問題?
當我在瀏覽器中訪問EC2切片的地址時,我得到了默認的Rails 500通知。不過,這有些奇怪。當我尾部/log/production.log
,我看到以下錯誤:
ActionView::Template::Error (SQLite3::SQLException: no such table: offers: SELECT "offers".* FROM "offers" WHERE (code = '') ORDER BY created_at desc LIMIT 25 OFFSET 0):
所以,我手動開闢了sqlite3的開發數據庫,看到表中出現。然而,生產數據庫沒有該表。
好的,所以我收到生產日誌中記錄的生產數據庫錯誤。應用程序必須在生產模式下運行,對吧?
這是什麼扔我。首先,它在我的開發機器上以開發模式運行,並且在部署它時我沒有更改任何文件。我也沒有使用任何花哨的部署工具來部署它(可能在我不知情的情況下切換了某些東西) - 我只是做了一個簡單的git push
。
此外,我增加了以下我httdp.conf虛擬主機配置:
RailsEnv development
而且,當我運行軌道控制檯,我可以得到如下:
irb(main):002:0> Rails.env
=> "development"
因此,應用程序真的應在開發模式下運行,對不對?事實上,它似乎認爲(部分)它是,對吧?
我真的不知道這裏發生了什麼,我真的很感謝一些專家的建議。
謝謝大家。
編輯 - 一些服務器稍後重新啓動,現在當我嘗試在瀏覽器中查看它時,它就會掛起。另外,當我嘗試重新啓動它(因此重新啓動服務器),相關問題或完全不同的問題時,Apache似乎會掛起?