gpt4 book ai didi

ruby-on-rails - Rails 应用程序部署和 Nginx 文件权限

转载 作者:太空宇宙 更新时间:2023-11-04 03:44:10 25 4
gpt4 key购买 nike

我刚刚使用 Capistrano 设置了应用程序并将其部署到 /srv/my_app_name。但是,当我尝试访问我的应用程序时,收到 403 Forbidden nginx/1.6.2 错误。我的 Nginx 在 www-data 用户下运行,但现在我试图了解应该向 Nginx 授予我的应用程序文件夹的访问权限。在我的 /var/log/nginx/error.log 文件中,我有以下内容:

015/03/01 09:42:16 [error] 19451#0: *1 directory index of "/srv/my_app_name/current/public" is forbidden, client ...

这是 /srv 文件夹的 ls -l 命令的结果:

drwxrwxr-x   3 root deploy  4096 Feb 28 16:04 srv

namei -lm/srv/my_app_name/current/public/ 命令的 Resulf:

# namei -lm /srv/my_app_name/current/public/
f: /srv/my_app_name/current/public/
drwxr-xr-x root root /
drwxrwxr-x root deploy srv
drwxrwxr-x deploy deploy my_app_name
lrwxrwxrwx deploy deploy current -> /srv/my_app_name/releases/20150301140926
drwxr-xr-x root root /
drwxrwxr-x root deploy srv
drwxrwxr-x deploy deploy my_app_name
drwxrwxr-x deploy deploy releases
drwxrwxr-x deploy deploy 20150301140926
drwxrwxr-x deploy deploy public

我的应用程序 Nginx 配置:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

passenger_enabled on;
rails_env production;
# root /srv/my_app_name/;
root /srv/my_app_name/current/public;

# Make site accessible from http://localhost/
server_name localhost staging.my_app_name.de www.staging.my_app_name.de;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
}

我以前的应用程序已部署到 /var/www 并运行良好,但我了解到它不是将应用程序用作服务的最佳位置,因此决定将此应用程序放置在更合适的文件夹中,但现在我陷入了文件权限的困境。

问题:

  1. 我应该仅将 www-data 的一些权限添加到公共(public)文件夹 (/srv/my_app_name/current/public),还是整个应用文件夹 (/srv/my_app_name)?

  2. 什么是正当权利?我当前使用 deploy 用户进行部署,该用户已添加到 deploy 组。

  3. 如何添加这些权限(我的意思是命令,因为我不太擅长 Linux 文件权限)?

最佳答案

原来我的nginx配置不正确。由于某种原因,这个效果非常好:

server {
listen 80 default_server;
passenger_enabled on;
passenger_app_env staging;
root /srv/my_app_name/current/public;
server_name localhost other_hosts;
}

关于ruby-on-rails - Rails 应用程序部署和 Nginx 文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28795052/

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