首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Carrierwave VPS符号链接不工作

Carrierwave VPS符号链接不工作
EN

Stack Overflow用户
提问于 2013-05-13 21:14:00
回答 1查看 236关注 0票数 0

我已经在softlayer VPS上设置了carrierwave。Carrierwave提供了在本地存储上保存文件的选项。

如果我使用public/imagesshared_path/images的符号链接,那么图像会被上传,但不会被渲染。当我删除符号链接并直接将图像存储在public/images中时,我可以看到这些图像,但它的用处最小,因为以后的版本将不会有这些图像。

我的上载程序类app/uploader/image_uploader.rb如下所示

代码语言:javascript
运行
复制
class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  storage :file

  def default_url
    "/assets/default.gif"
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end

  def store_dir
    "images"
  end
end

我在我的部署脚本中使用了符号链接

代码语言:javascript
运行
复制
    set :shared_children, shared_children + %w{public/images}

    desc "Symbolic Link for Uploads"
      task :symlink_uploads, :roles => [:app, :web] do
         run "rm -rf #{release_path}/public/images &&
              ln -nfs #{shared_path}/images  #{release_path}/public/images"
    end

    after 'deploy:update_code', 'deploy:symlink_uploads'

也尝试设置权限。但我还是看不到我上传的照片。

当我尝试从浏览器访问图像时,收到以下消息

代码语言:javascript
运行
复制
Forbidden
You don't have permission to access /images/my_profile.jpg on this server.
Apache/2.2.14 (Ubuntu) Server at example.com Port 80

我还通过Capistrano and CarrierwaveCarrierwave files with Capistrano

是否需要设置特定权限才能访问目录?例如:

代码语言:javascript
运行
复制
chmod 755 shared_path/images

找不到任何有效的解决方案。非常感谢您的帮助。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-14 00:06:04

明白了,这个不见了

代码语言:javascript
运行
复制
Options FollowSymLinks

apache permissions error

尽管我把Options -Indexes +FollowSymLinks MultiViews控制在

<Directory></Directory>

想知道为什么+FollowSymLinks不工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16522984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档