【问题标题】:Rails 3 application on main domain主域上的 Rails 3 应用程序
【发布时间】:2016-10-21 22:12:43
【问题描述】:

我有域名 www.ecotechno.lv。我想将此域与我的 RoR 应用程序相关联。

我是这样做的:

将我的应用上传到 /rails_apps 文件夹中

创建的符号链接:

ln -s ~/rails_apps/ecotechno/public ~/public_html/ecotechno

填充的 /rails_apps/ecotechno/public 文件夹 .htacces 文件包含: PassengerAppRoot /home3/ecotec11/rails_apps/ecotechno/

<IfModule mod_passenger.c>
Options -MultiViews
PassengerResolveSymlinksInDocumentRoot on
#Set this to whatever environment you'll be running in
RailsEnv development
RackBaseURI /
SetEnv GEM_HOME /home3/ecotec11/ruby/gems/gems
</IfModule>

这是按照托管公司的指南完成的!

现在,当我浏览 www.ecotechno.lv 时,它应该在哪里启动我的 rails 应用程序。它显示文件系统和 ecotechno 符号链接。当我点击它给出错误:

Ruby (Rack) application could not be started
Error message:
Could not find rename-1.0.2 in any of the sources (Bundler::GemNotFound)

但是为什么我在浏览 ecotechno.lv 后无法首先启动我的应用程序?如果有帮助,可以查看www.ecotechno.lv

提前致谢!

ecotec11@ecotechno.lv [~]# ls -l ~/rails_apps/ecotechno/public
total 32
drwxr-xr-x  3 ecotec11 ecotec11 4096 Sep 27 14:30 ./
drwxr-xr-x 13 ecotec11 ecotec11 4096 Jul 24 02:39 ../
-rw-r--r--  1 ecotec11 ecotec11  301 Sep 27 14:27 .htaccess
-rw-r--r--  1 ecotec11 ecotec11  728 Feb  5  2014 404.html
-rw-r--r--  1 ecotec11 ecotec11  711 Feb  5  2014 422.html
-rw-r--r--  1 ecotec11 ecotec11  643 Feb  5  2014 500.html
-rw-r--r--  1 ecotec11 ecotec11    0 Feb  5  2014 favicon.ico
-rw-r--r--  1 ecotec11 ecotec11  204 Feb  5  2014 robots.txt
drwxr-xr-x  5 ecotec11 ecotec11 4096 Jun  9 11:38 system/

【问题讨论】:

  • 您是否进行了捆绑安装?您的机器上似乎没有安装所需的 gem。
  • 我不明白你所说的when I browser ecotechno.lv 是什么意思。我刚刚尝试了http://ecotechno.lv/ecotechno/http://www.ecotechno.lv/ecotechno/,对于他们两个我都看到了同样的错误。没有找到宝石。您确定将 gem 安装到 /home3/ecotec11/ruby/gems/gems 吗?从 app 目录尝试 bundle show rename 以查看是否实际安装了 gem。也可以试试gem list --local rename*
  • @EdgarsRozenfelds - 您发布的配置文件只是一般的乘客设置,您还需要显示您的站点配置。它们应该在站点可用文件夹中。
  • 特别是关于使您的应用程序在根位置可用,您可能应该将符号链接更改为 ln -s ~/rails_apps/ecotechno/public ~/public_html 。试试看。尽管如此,我仍然认为您的宝石丢失有问题。这就是错误所说的......!
  • 你能告诉我们ls -l ~/rails_apps/ecotechno/public的输出吗?

标签: ruby-on-rails ruby .htaccess


【解决方案1】:

谢谢大家。 所以我解决了这个问题。

我的解决方案。

1) Rails 应用程序必须位于 ../rails_apps/eco

2) 使用此创建符号链接:ln -s ~/rails_apps/eco/public ~/public_html/eco

3) 在 public_html/.htaccess 中插入以下代码:

PassengerAppRoot /home3/ecotec11/rails_apps/eco/

<IfModule mod_passenger.c>
Options -MultiViews
PassengerResolveSymlinksInDocumentRoot on
#Set this to whatever environment you'll be running in
RailsEnv development
RackBaseURI /
SetEnv GEM_HOME /home3/ecotec11/ruby/gems/gems
</IfModule>

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www.ecotechno.lv$ [NC]
RewriteRule ^(.*)$ http://www.ecotechno.lv/$1 [L,R=301]
RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* – [F,L]

RewriteCond %{HTTP_HOST} ^173\.254\.28\.107
RewriteRule (.*) http://www.ecotechno.lv/$1 [R=301,L]

4) 在 rails_apps/eco/public/.htaccess 中:留空。

所以我希望对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2016-03-05
    • 2014-04-21
    • 2017-10-13
    相关资源
    最近更新 更多