gpt4 book ai didi

ruby-on-rails - Rails 生产服务器缓存权限被 Nginx 拒绝

转载 作者:行者123 更新时间:2023-12-02 07:42:53 26 4
gpt4 key购买 nike

我已成功部署 Ruby on Rails 应用程序,并按照 Assets 管道指南设置 Assets 编译和压缩。我的服务器日志中似乎出现了缓存问题。

似乎在尝试 mkdir 缓存文件夹时我的权限被拒绝?这里发生了什么?我该如何解决这个问题?

nginx/logs error.log ...

cache: [GET /assets/grid.png] miss
cache: [GET /] miss
cache error: Permission denied - /var/www/redmeetsblue/releases/20120212234112/tmp/cache/B27
/usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir'
/usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/fileutils.rb:247:in `fu_mkdir'
/usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/fileutils.rb:221:in `block (2 levels) in mkdir_p'
/usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/fileutils.rb:219:in `reverse_each'
/usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/fileutils.rb:219:in `block in mkdir_p'
/usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/fileutils.rb:205:in `each'
/usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/fileutils.rb:205:in `mkdir_p'

tmp 文件夹用户/权限...

ls -alh /var/www/redmeetsblue/current/tmp
total 12K
drwxr-xr-x 3 root root 4.0K 2012-02-12 18:43 .
drwxrwxr-x 13 root root 4.0K 2012-02-12 18:41 ..
drwxr-xr-x 3 root root 4.0K 2012-02-12 18:43 cache
lrwxrwxrwx 1 root root 33 2012-02-12 18:41 pids -> /var/www/redmeetsblue/shared/pids
-rw-r--r-- 1 root root 0 2012-02-12 18:41 restart.txt

我的 nginx.conf 的一部分 ...

http {
passenger_root /usr/local/rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11;
passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.3-p0/ruby;

include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 80;
server_name 173.255.210.212;
root /var/www/redmeetsblue/current/public/;
passenger_enabled on;
}

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
}

最佳答案

nginx.conf中设置一个user指令:

user www-data;

然后更新您的应用的权限以归该用户所有:

sudo chown -R www-data /var/www/redmeetsblue

注意:另请注意,如果您使用的是 Capistrano 或其他类似的部署系统,您还必须更新该配置以现在使用同一用户。

关于ruby-on-rails - Rails 生产服务器缓存权限被 Nginx 拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com