Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Capistrano +任何时候gems - bin/rails:权限被拒绝

Capistrano +任何时候gems - bin/rails:权限被拒绝
EN

Stack Overflow用户
提问于 2014-08-25 22:07:51
回答 2查看 917关注 0票数 4

我已经配置了一个生产环境,它可以正常部署和工作。虽然我遇到了一个我不能解决的辅助问题。

每当我运行gem来执行两个cron作业时,只要gem capistrano实现正确地部署了它们,并且脚本正在执行。尽管在whenever.log内部,我收到了以下输出:

代码语言:javascript
运行
AI代码解释
复制
/bin/bash: bin/rails: Permission denied

该脚本使用runner从RSS提要进行更新,虽然我使用Capistrano将其部署到新服务器,但在以前的生产部署中没有发生任何意外。

我到处寻找并找到了这个question,尽管每次我部署时,我都必须使bin/rails可执行(由于来自Capistrano的日期戳部署)。有没有办法让Capistrano在部署时让我的文件成为可执行文件?或者,让bin/rails成为可执行文件是否存在一些固有的安全风险?

EN

回答 2

Stack Overflow用户

发布于 2014-08-26 09:11:46

我能够通过以下方式解决我的问题(为简洁起见,包含了名称空间和重启):

代码语言:javascript
运行
AI代码解释
复制
namespace :deploy do

 desc 'Restart application'
  task :restart do
    on roles(:app), in: :sequence, wait: 5 do
      # Passenger restart mechanism
      execute :mkdir, '-p', "#{ release_path }/tmp"
      execute :touch, current_path.join('tmp/restart.txt')
    end
  end

  after :publishing, :restart

  after :restart, :x_bin_rails do
    on roles(:web), in: :groups, limit: 3, wait: 10 do
      within release_path do
        execute :chmod, "u+x bin/rails"
      end
    end
  end

end
票数 4
EN

Stack Overflow用户

发布于 2016-11-23 00:49:05

因此,我的解决方案是将bin/文件夹设置为共享文件夹

代码语言:javascript
运行
AI代码解释
复制
#config/deploy.rb
set :linked_dirs, fetch(:linked_dirs, []).push('bin')

然后,在您的下一次部署中,bin/文件夹将符号链接到shared/bin

您只需转到此目录一次,将可执行文件从以前的发行版中移出

代码语言:javascript
运行
AI代码解释
复制
cp /your_deploy_path/releases/PREV_RELEASE/bin/* /your_deploy_path/shared/bin

..。并确保你的chmod ug+x shared/bin/*

同样在我的例子中,我是在AmazonEC2-linux机器上运行的,由于某些原因,bin文件是使用ruby.exe而不仅仅是ruby生成的。如果你没有运行Windows,请确保你检查这些文件并删除.exe扩展名。

编辑-我不再确定之前的答案,因为每当我使用rails + capistrano +进行设置时,都会遇到bug。然而,以下代码确实适用于3.6.1以上的Rails5+ Capistrano

  1. 重新生成大多数最新bin (您可能需要执行以下操作:包配置--删除bin #可能必须执行rake rails:update:bin # git add bin #如果您的bin目录在gitignore中,请将其从其中移除并提交
  2. 从链接的目录中删除bin (这与我的原始解决方案相反),然后在deploy.rb中添加额外的行

设置:bundle_binstubs,nil

  • Deploy。从这里可以看到,生成的bin文件具有适当的-x权限,并且正确引用了引导文件

有关参考,请参阅this SO

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

https://stackoverflow.com/questions/25495102

复制
相关文章
Ruby 应用容器封装踩坑记录(Lobsters)
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2020/03/22
4.9K0
Ruby 应用容器封装踩坑记录(Lobsters)
Ruby 应用容器封装踩坑记录(Lobsters)
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2020/03/26
7.5K0
Debian 9下安装Ruby on Rails与NGINX
Ruby on Rails是一个Web框架,允许Web设计人员和开发人员实现动态的功能齐全的Web应用程序。在生产中部署Rails应用程序时,开发人员可以从几个流行的应用程序服务器中进行选择,包括Puma,Unicorn和Passenger。本指南将使用Passenger,因为它可以方便地与NGINX集成。
Likenttt
2018/09/14
3.6K0
使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序
Rails是一个用Ruby编写的开源Web应用程序框架。Nginx是一种高性能HTTP服务器,反向代理和负载均衡器,以其并发性,稳定性,可伸缩性和低内存消耗而著称。与Nginx一样,Puma是另一个极其快速且并发的Web服务器,内存占用非常小,但是为Ruby Web应用程序构建。
尘埃
2018/08/09
5.1K0
从拒绝到被拒绝
2021,新的一轮工作季的开始,你投了太多的简历,太多的邮件,太多的尝试,而到头来收获的却是从拒绝到拒绝。
HoneyMoose
2021/05/13
1.1K0
从拒绝到被拒绝
开发项目管理工具redmine 原
基于上面的多种特性,在项目管理工作中,如任务分配、任务跟踪、项目权限管理等等带来很大的便捷性,使得工作进度、质量更加可控。春雨在使用Redmine时集成了ldap,并以此对外部员工(toh、合作方)和内部员工做了区分,同时Redmine对用户分配了四种角色(超级管理员、管理人员、开发人员、报告人员),而且还可以配置用户组,如此一来对于项目权限管理更加便捷。更重要的一点是日常工作中所有工作内容的申请和交接都通过Redmine和email来操作,这样所有工作的开展都有据可依,也符合等保3的考核要求。
阿dai学长
2019/04/03
10.2K3
开发项目管理工具redmine
                                                                            原
redmine3的安装和升级
http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Requirements
py3study
2020/01/07
8680
如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails
Ruby on Rails是创建网站和Web应用程序的开发人员最受欢迎的应用程序堆栈之一。Ruby编程语言与Rails开发框架相结合,使应用程序开发变得简单。
司徒永哥
2018/10/10
6.4K0
如何使用Capistrano自动部署:入门教程
制作基于Web的应用程序的关键领域之一是部署。如何部署,这项任务确实被视为一件苦差事,似乎对您的项目几乎没有任何直接或附加价值。然而,一个精心设计的部署过程肯定有助于减少开销,例如不会浪费时间在让产品上线。
何处惹尘埃
2018/08/13
2.4K0
CentOS 7 使用ror出现的问题
rails server $ rails server => Booting Puma => Rails 6.0.3.2 application starting in development => Run `rails server --help` for more startup options Exiting Traceback (most recent call last): 65: from bin/rails:4:in `<main>' 64: from /us
天地一小儒
2022/12/28
8570
WinSCP连接Ubuntu被拒绝
2.Ubuntu默认root是关闭的,最好重新设置一遍密码:passwd root就能开启root
全栈程序员站长
2022/09/30
3.7K0
WinSCP连接Ubuntu被拒绝
Linux passwd: 拒绝权限(Permission denied)
原因1:/usr/bin/passwd 权限异常 正常情况下的权限:     ls -l /usr/bin/passwd     -rwsr-xr-x 1 root root 34392 2009-05-22 16:03 /usr/bin/passwd 修复命令:     chown root:root /usr/bin/passwd     chmod u=rwx,go=rx,u+s /usr/bin/passwd 原因2:SELinux 未关闭 2.1.查看SELinux状态 方法1
用户2836074
2018/08/15
6.1K0
服务器要删除文件访问被拒绝,删除文件提示:文件夹访问被拒绝 需要来自administrator权限执行操作…
有时候我们在删除一些系统重要文件,或者被保护的文件的时候,会出现对话框,提示我们您需要来自administrator权限才能对此文件夹进行更改,这是什么原因导致的?今天小编就为大家分析下解决办法。
全栈程序员站长
2022/11/17
6.1K0
服务器要删除文件访问被拒绝,删除文件提示:文件夹访问被拒绝 需要来自administrator权限执行操作…
拒绝调岗:被开除
原告(被告):武某,男,1987年出生 被告(原告):北京新东方迅程网络科技股份有限公司 新东方迅程公司向一审法院起诉请求: 无需支付武某违法解除劳动合同赔偿金431252.5元。 武某向一审法院起诉请求: 新东方迅程公司支付武某: 1、违法解除劳动合同赔偿金486400元; 2、2020年1月1日至2020年12月31日的年底双薪42000元。 一审法院认定事实: 武某于2011年12月20日入职新东方迅程公司,新东方迅程公司(甲方)与武某(乙方)签订了期限自当日起至2015年5月31日止的劳动合同,双
云头条
2022/07/25
6910
拒绝调岗:被开除
Rails 容器与配置(4)
这个 ONBUILD 镜像可以用于大部分的Rails应用,它会完成类似如下的一些工作 :
franket
2021/10/20
9570
如何在Debian 8上使用RVM安装Ruby on Rails
Ruby on Rails是创建网站和Web应用程序的开发人员最受欢迎的应用程序框架之一。Ruby编程语言与Rails开发框架相结合,使应用程序开发变得简单。
好烟
2018/07/26
5.2K0
Canvas LMS集成Analysis插件
Canvas官方Production Start安装的平台并不包括分析模块,在Canvas开源库中看到了Canvas Analytics ,集成过程如下。
geekfly
2022/04/24
1.6K0
Canvas LMS集成Analysis插件
如何使用本地 Docker 更好地开发?我们总结了这八条经验
如果你像我们一样需要运行许多不同的应用程序,那么将开发环境容器化可以极大地提高工作效率。这里有一些可以优化本地 Docker 环境的技巧。
深度学习与Python
2022/06/13
2.1K0
Ruby on Rails 基础(5)
其实就是一捆gems Tip: 查看本地有哪些 gem ,可以通过如下方式 [root@h202 ruby]# gem list *** LOCAL GEMS *** actionmailer (4.2.6) actionpack (4.2.6) actionview (4.2.6) activejob (4.2.6) ... ... rdoc (4.2.1) rvm (1.11.3.9) sprockets (3.6.0) sprockets-rails (3.0.4) test-unit (3.1.
franket
2021/11/25
8810
笔记整理-Ruby语言
CREATE DATABASE redmine CHARACTER SET utf8;
古道无仙
2021/03/11
2.2K0

相似问题

Capistrano 3权限被拒绝

20

部署Rails应用程序:权限被拒绝- /root/.gems

20

Capistrano和Bitbucket权限被拒绝

26

Capistrano bitbucket -权限被拒绝(publickey)

20

capistrano删除缓存权限被拒绝

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文