2012-07-11 45 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

相关问题