ruby-on-rails – Apache不会为rails app提供静态资产
发布时间:2020-12-16 19:11:29 所属栏目:百科 来源:网络整理
导读:我正在尝试配置我的apache服务器,以便从我的rails应用程序提供静态资产.我已经尝试了建议的配置,但我的资产仍然没有显示,当我试图直接访问它时,我刚刚遇到一个rails错误,没有找到匹配的控制器,但资产的东西应该由apache直接处理我认为. 我的apache配置如下所
我正在尝试配置我的apache服务器,以便从我的rails应用程序提供静态资产.我已经尝试了建议的配置,但我的资产仍然没有显示,当我试图直接访问它时,我刚刚遇到一个rails错误,没有找到匹配的控制器,但资产的东西应该由apache直接处理我认为.
我的apache配置如下所示: <VirtualHost *:80> ServerName xxx DocumentRoot /home/xxx/test/public PassengerEnabled off <LocationMatch "^/assets/.*$"> Header unset ETag FileETag None ExpiresActive On ExpiresDefault "access plus 1 year" </LocationMatch> ProxyPass / http://127.0.0.1:9292/ ProxyPassReverse / http://127.0.0.1:9292/ </VirtualHost> 我错过了什么吗? 解决方法
我用了,
RAILS_ENV=production bundle exec rake assets:precompile 为了使一切正常,我将其添加到config / application.rb … module MyApp class Application < Rails::Application . . config.assets.precompile += ['custom.css'] config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) . . end end (我创建了custom.css.scss.但是Rails没有识别.scss,如上所示.)我假设在预编译之后所有资产都出现在public / assets文件夹中.我不明白你在使用LocationMatch做什么,原谅我的无知.此外,我没有使用端口80.我使用了8000.不确定这是否有所作为. 另外,config / environments / production.rb中有一个设置, # Disable Rails's static asset server (Apache or nginx will already do this). config.serve_static_assets = false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |