Ruby on rails Rails 3无法从apache服务器为生产中的资产提供服务

Ruby on rails Rails 3无法从apache服务器为生产中的资产提供服务,ruby-on-rails,assets,production,Ruby On Rails,Assets,Production,使用Rails 3.2.2和ruby 1.9.2,我无法在生产中提供资产服务。在为webapps配置服务器方面没有真正的经验 我在applictation.html.erb中有以下代码 <a href="/"><img src="/assets/topbar.png" border="0" alt="My LOGO"></a> 我将topbar.png放在app/assets/images/中。它在开发模式下按预期工作,在png存在时显示,如果删除p

使用Rails 3.2.2和ruby 1.9.2,我无法在生产中提供资产服务。在为webapps配置服务器方面没有真正的经验

我在applictation.html.erb中有以下代码

  <a href="/"><img src="/assets/topbar.png" border="0" alt="My LOGO"></a>

我将topbar.png放在app/assets/images/中。它在开发模式下按预期工作,在png存在时显示,如果删除png则不会显示

它不会出现在生产中。到目前为止,我们已经做了以下工作。应用程序确实运行,但不显示上述资产

<VirtualHost *:8081>
  ServerName dev.mycompany.com:8081
        DocumentRoot /var/www/vhosts/dev.mycompany.com/webapps/
#        PassengerAppRoot /var/www/vhosts/dev.mycompany.com/webapps/testapp/public
#   PassengerLogLevel 3

        RackBaseURI /myRailsTest
        <Directory /var/www/vhosts/dev.mycompany.com/webapps/myRailsTest>
                AllowOverride all
                Allow from all
                Options -MultiViews
            <IfModule mod_php5.c>
                    php_admin_flag engine on
                    php_admin_flag safe_mode on
             </IfModule>
        </Directory>
</VirtualHost>

ServerName dev.mycompany.com:8081
DocumentRoot/var/www/vhosts/dev.mycompany.com/webapps/
#PassengerAppRoot/var/www/vhosts/dev.mycompany.com/webapps/testapp/public
#乘客日志3级
RackBaseURI/myRailsTest
允许超越所有
通融
选项-多视图
php_admin_标志引擎打开
php_管理_标志安全_模式打开
我还需要做些什么来配置apache服务器吗?我在读这篇文章,但对于一个新手来说,它相当密集


我能试试什么?我读到的一件事是:“你应该使用app/assets来处理那些在提供服务之前必须经过一些预处理的文件。在生产环境中,Rails默认情况下会将这些文件预编译为public/assets。”但实际上,我看不出它是在为我这么做。这就是问题所在吗?谢谢

查看本节导轨:

基本上,您有两种选择:

  • 使用
    bundle exec rake资产预编译您的资产:预编译
  • 实时编译:
    config.assets.compile=true

  • 您应该使用
    image\u tag
    在布局和视图中创建
    帮助程序,因为在预编译阶段,将从编译文件的内容生成MD5,并在将文件写入光盘时插入文件名。

    查看rails指南的这一部分:

    基本上,您有两种选择:

  • 使用
    bundle exec rake资产预编译您的资产:预编译
  • 实时编译:
    config.assets.compile=true

  • 您应该使用
    image\u标记
    在布局和视图中创建
    帮助程序,因为在预编译阶段,MD5是从编译文件的内容生成的,在服务器上尝试RAILS_ENV=production rake assets:precompileThank you,非常有用。在服务器上尝试RAILS_ENV=production rake assets:precompileThank you,非常有用。谢谢,图像标签是我的关键。谢谢谢谢,图像标签是我处境的关键。谢谢