Ruby on rails Rails 3无法从apache服务器为生产中的资产提供服务
使用Rails 3.2.2和ruby 1.9.2,我无法在生产中提供资产服务。在为webapps配置服务器方面没有真正的经验 我在applictation.html.erb中有以下代码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
<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,非常有用。谢谢,图像标签是我的关键。谢谢谢谢,图像标签是我处境的关键。谢谢