2012-07-11 44 views
0

我是一名全新的Rails用戶,我正在按照本教程-http://ruby.railstutorial.org/chapters/a-demo-app#top。在本地服務器上訪問演示應用程序(從第2章開始)沒有問題。但是,有問題部署到我的Linode服務器。下面是我做了什麼:無法部署Rails應用程序(Linode,Passenger)

  1. 推本地應用到位桶
  2. 克隆回購上的Linode到:/ SRV /網絡/ preziki/first_app
  3. 捆綁安裝
  4. 耙分貝:遷移
  5. 更新虛擬主機的preziki:

    的ServerAdmin [email protected] 服務器名preziki.com ServerAlias www.preziki.com 的DocumentRoot/SRV /網絡/ preziki/first_app /公共 錯誤日誌/srv/www/preziki/logs/error.log 的CustomLog /srv/www/preziki/logs/access.log組合

  6. a2ensite preziki

  7. 重新啓動Apache
  8. 刷新阿帕奇

如果我去www.preziki.com(或176.58.104.181),我看到默認的Rails 「歡迎乘坐」 頁面。如果你點擊「關於你的應用程序環境」鏈接,你會得到「抱歉,但出錯了」的錯誤。如果我訪問www.preziki.com/users(就像我可以通過本地主機/用戶那樣),我會得到「抱歉,但出錯了」的錯誤。

如果我將VirtualHost指向我擁有「Hello world!」的目錄。 index.html文件,然後preziki.com顯示它沒有問題。

我在做什麼錯?

謝謝。

+0

更新 - 我重新安裝中的libapache2-MOD-乘客,現在當我點擊「關於你的應用環境」我得到一個「的請求的URL /導軌/信息/屬性此服務器上找到。」錯誤。 – Olegious 2012-07-12 04:42:00

+0

更新 - 這是/ srv/www/preziki/logs/error的最後幾項。日誌文件: [Thu Jul 12 04:45:56 2012] [error] [client 67.168.204.53] File does not exist:/ srv/www/preziki/first_app/public/assets,referer:http:// www .preziki.com/ [Thu Jul 12 04:45:59 2012] [error] [client 67.168.204.53]文件不存在:/ srv/www/preziki/first_app/public/rails,referer:http:// www.preziki.com/ [Thu Jul 12 04:46:04 2012] [error] [client 67.168.204.53]文件不存在:/ srv/www/preziki/first_app/public/rails,referer:http:/ /www.preziki.com/ – Olegious 2012-07-12 15:31:33

回答

0

這聽起來像你幾乎在那裏。我的猜測是,該應用程序連接到數據庫時有問題。但要親自看看問題所在,請查看生產日誌文件:

/srv/www/preziki/first_app/log/production.log 

這通常會告訴您一切您需要知道的信息。你可以做調試的另一件事是使用控制檯的服務器上,在生產模式:

bundle exec rails console production 
+0

my/first_app/log dir爲空。 bundle exec rails console production會引發以下錯誤:「/home/[username]/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in'require ':無法加載這樣的文件 - readline(LoadError)「 – Olegious 2012-07-12 04:13:01

1

,你可以看到「默認Rails的」環境第一件事,是指檢查你的web服務器(Apache)的工作正常。因爲它是一個靜態請求。

,當你想進入應用環境其次的事情,那麼他們是一個問題意味着你的應用程序沒有正確部署。

你需要檢查的幾件事。

1. Give the application directory all permission. 
2. bundle install properly 
3. Set RailsENV in virtual host 
4. rake db:migrate properly. 
5. Check your log file what problem it is showing. 



<VirtualHost *:80> 
     ServerName localhost 
     DocumentRoot /home/user/project/trunk/public 
     PassengerEnabled on 
     RailsEnv development 
     <Directory /home/user/project/trunk/public> 
     </Directory> 
</VirtualHost> 
+1

」RailsEnv開發「爲我解決了一切。謝謝! ;) – shark555 2013-04-11 10:39:58

相關問題