问题标签 [cloud66]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 缓存权限错误
我有一个在 Digital Ocean 上运行并通过 Cloud 66 部署的 Rails 应用程序( Spree Commerce商店)。
我想通过 SSH 连接到我的服务器,运行 rails 控制台,并调整一些 Spree 配置设置。当我尝试这样做时,出现权限错误:
Errno::EACCES: 权限被拒绝 @ dir_s_mkdir - /var/deploy/my-app/web_head/releases/20150220220517/tmp/cache/29B
根据Spree Developer Guide 的首选项页面,这是因为首选项被缓存到内存中以提高性能。问题(我认为)是我的用户没有对该tmp/cache
目录的写访问权限,而运行 rails 控制台的是我的用户。
如果我ls -l
在 $STACK_PATH/tmp/cache 目录上,我会得到以下信息:
我想我需要给我的用户对目录的写访问权限,就像 nginx 用户一样。我尝试将自己添加到 nginx 用户组,但这似乎没有任何效果。我能做些什么来防止这个权限错误?
ruby-on-rails - 耙中止!ArgumentError:相同的文件:
当我尝试在 部署我的 rails 应用程序时cloud66
,我收到此错误:
有人可以解释为什么我会收到这个错误吗?如何解决?
ruby-on-rails - Sidekiq 不断重启 Cloud66
我一直在为这个问题苦苦挣扎,只是无法弄清楚。我正在尝试让 Redis 和 Sidekiq 为我在 Cloud66 w/Digital Ocean 上托管的 Rails 项目处理后台工作。所有需要的宝石似乎都存在,并且设置在本地完美运行。
我的第一次尝试是使用这些设置:
这是我的 config/sidekiq.yaml 文件:
根据本教程https://mikecoutermarsh.com/setting-up-redis-on-cloud66-for-sidekiq/这是我的内容 Procfile:
$REDIT_URL_INT 是 : 的 ENV 变量redis://104.236.131.187:6379
。根据博文评论中的建议,此 ENV 变量与教程中的变量(包括端口)有所不同。
使用这些设置部署后,我的 Sidekiq 日志为我提供以下信息:
给我的印象是 Sidekiq 一直在重启。所以我检查了 Sidekiq 流程:
很多 Sidekiq 动作!我没有要求那个。我只需要一个。
我目前的理论是我缺少 Rails / Sidekiq / Redis 设置之间的链接。所以我添加了一个 Redis config/redis/production.conf:
这没什么区别。此外,没有创建 redis_production.log 或 production.rbd。所以我猜 cloud66 正在处理 Redis 部分。如果我签出 web 控制台,redis 服务器正在正确的端口上运行。
我相信 Cloud66 使用 Bluepil 来管理他们的流程。有以下名为 user_worker_pill.log 的日志文件:
这超出了我对此事的有限专业知识,但在我看来,它正在尝试使用 Procfile 中的命令反复恢复崩溃的进程。
这是我能够收集到的所有信息,我不知道如何进行。我真的非常感谢任何见解、意见或建议。
谢谢!
/编辑
在 Phillip 发表评论后,我将 $REDIS_URL_INT 更改为 $REDIT_ADDRESS (没有端口的 IP),这是 sidekiq.log :
ruby-on-rails - cloud66 部署的乘客问题
当我使用 cloud66 部署时,我得到了这个:
第一次发生这种情况:
我们很抱歉,但有些不对劲。
我们已收到有关此问题的通知,我们将尽快进行查看。
Phusion Passenger 应用程序服务器在启动您的 Web 应用程序时遇到错误。由于您在暂存或生产模式下运行此 Web 应用程序,因此出于安全原因,此网页中省略了错误的详细信息。
请阅读 Web 服务器错误日志以了解错误的详细信息。如果您不知道 Web 服务器错误日志在哪里,请阅读下面的故障排除文档。
或者,您可以打开“友好的错误页面”功能(见下文),这将使 Phusion Passenger 在浏览器中显示有关错误的许多详细信息。
Phusion 乘客故障排除文档:
Nginx 集成模式 Apache 集成模式 Standalone 模式 要开启友好的错误页面:
Nginx 集成模式 Apache 集成模式 Standalone 模式:将 --friendly-error-pages 参数传递给乘客命令。
nginx的错误日志:
有关错误的详细信息,请参阅之前的日志。
ruby-on-rails - 如何使用 Cloud66 在单个 VM 上部署 Rails 应用程序
我对 docker 容器很陌生,并且对部署它们的正确方法感到好奇。
我有几个准备好部署的 Rails 应用程序。4 准确的说。每个应用程序都需要彼此工作。我有一个 Cloud66 和一个 DigitalOcean 帐户链接在一起。但是,每次从 Cloud66 部署新应用程序时,它都会创建一个新的 droplet。
是否可以在单个 droplet 上使用 Cloud66 部署我的 4 Rails 应用程序?
干杯!
ruby-on-rails - 远离 cloud66 并通过命令行部署到 azure
所以我有一个不错的 rails 应用程序可以通过 cloud66 正常工作
但是我不再需要 cloud66 的费用了。我正在使用 cloud66 来部署和运行迁移和 rake 任务(可以在任何时候使用 gem)
我想知道如何删除 cloud66 的中间人并手动部署到现有的 cloud66 创建的应用程序?
我在这里看过这个: https ://docs.microsoft.com/en-us/azure/app-service-web/app-service-deploy-local-git
但我不是 100% 确定这是否是我需要的?
任何帮助或提示/提示都会很棒!
ruby-on-rails - Rails:部署临时环境:未设置设计密钥
目前,我们公司在 cloud66 上托管了我们公司的工作生产版本。我检查并设置了我们所有的环境变量,并让我们的清单达到了标准。现在,除了我们的 API 密钥,登台是生产的精确复制品。我们的production.rb文件和sour staging.rb文件一样:
我将暂存设置添加到我们的 c66 清单文件中,这又是生产的精确副本:
部署失败,日志指向设计:
所以,我正在查看 devise.rb 文件,我看到这个注释掉的代码:
我对这段代码了解不多。我会假设,因为一切都是生产的精确复制品,所以这也应该在我们的登台环境中被注释掉。我不知道取消注释的含义config.secret_key
以及这可能对我们的生产环境产生什么影响。
有人可以解释为什么这在生产中有效,但在其他设置中相同的分期失败?
mysql - 在对随机简单查询进行查询期间丢失与 MySQL 服务器的连接
最终更新:我们通过找到一种无需分叉即可实现目标的方法来解决此问题。但是分叉是问题的根源。
---原帖---
我在 Rails 堆栈上运行 ruby,我们的 mysql 服务器是独立的,但与我们的应用程序服务器位于同一站点。(我们尝试将其换成具有双倍规格的不同 mysql 服务器,但没有看到任何改进。
在工作时间,我们从没有特别的查询中得到了其中的一些。
大多数失败的查询都非常简单,一个查询和另一个查询之间似乎没有模式。这一切都是从我从 Rails 4.1 升级到 4.2 开始的。
我不知道该尝试什么。我们的数据库服务器全天的 CPU 使用率低于 5%。我确实收到了来自随机交互失败的用户的错误报告,因此它不是已经运行了几个小时或类似的查询,当然当他们重试完全相同的事情时。
我们的服务器由 cloud66 配置。
简而言之:我们的mysql服务器由于某种原因而消失了,但这不是因为资源不足,它也是一个全新的服务器,因为当这个问题开始时我们从另一台服务器迁移。
我有时在开发功能时也会在本地主机上发生这种情况,所以我不认为这是一个负载问题。
我们正在运行以下内容:
- 红宝石 2.2.5
- 导轨 4.2.6
- mysql2 0.4.8
更新:根据下面的第一个答案,我昨晚将我们的 max_connections 变量增加到 500,并通过确认增加
show global variables like 'max_connections';
我的连接仍然掉线,今天的第一个连接几分钟前就掉线了....
ActiveRecord::StatementInvalid: Mysql2::Error: Lost connection to MySQL server during query
我跑了select * from information_schema.processlist;
,我回来了 36 行。这是否意味着我的应用服务器当时正在运行 36 个连接?或者一个进程可以是多个连接?
更新:我刚刚设置 net_read_timeout = 60 (之前是 30 )我看看是否有帮助
更新:它没有帮助,我仍在寻找解决方案......
这是我删除凭据的 Database.yml。
cloud66 - cloud66工具带如何授权
我不明白如何使用 cloud66 工具带。在文档中声明您需要运行命令cx stacks list
- 它使用 Auth Code 行在浏览器中打开 cloud66 站点。接下来我该怎么办?我应该把这个验证码放在某个地方吗?在哪里?