问题标签 [digital-ocean]
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.
playframework - Playframework - 激活器 UI - 从互联网访问时连接被拒绝
我已经在数字海洋(Ubuntu)中安装了 playframework 并安装了激活器 UI。UI 位于 http://127.0.0.1:8888,但是我无法从 Internet 访问此端口。即说我的 digitalocean 服务器 IP 是 10.100.10.10,我无法从我的个人 PC 访问 http://10.100.10.10:8888
但是我可以在服务器中使用 localhost,知道如何从 Internet 访问此页面吗?
amazon-ec2 - Digitalocean、Amazon EC2 等上的 LAMP?
是否可以在 Digitalocean、Amazon EC2 等云服务上构建服务器端数据库 + 处理程序 + webform 接口之类的东西?
我想做类似http://www.clarifai.com/的东西, 所以用户将图像上传到网络表单,程序处理它,添加到数据库或在数据库中搜索。
我应该在云上使用\安装哪些技术?
node.js - 部署到 Digital Ocean 的 Meteor 应用程序卡在 100% CPU 和 OOM
我有一个使用 Meteor Up to Digital Ocean 部署的 Meteor (0.8.0) 应用程序,该应用程序一直停留在 100% CPU,只是因为内存不足而崩溃,然后以 100% CPU 再次启动。在过去的 24 小时里,它一直处于这样的状态。奇怪的是没有人使用服务器,meteor.log 没有显示太多线索。我有用于数据库的带有 oplog 的 MongoHQ。
数字海洋规格:
1GB Ram 30GB SSD 磁盘纽约 2 Ubuntu 12.04.3 x64
截图显示问题:
请注意,屏幕截图是昨天捕获的,它一直保持在 100% cpu,直到它因内存不足而崩溃。日志显示:
致命错误:疏散分配失败 - 进程内存不足错误:永远检测到的脚本被信号杀死:SIGABRT 错误:永远重新启动脚本 5 次
热门展示:
26308 流星 20 0 1573m 644m 4200 R 98.1 64.7 32:45.36 节点
它是如何开始的:我有一个应用程序,它通过 csv 或 mailchimp oauth 接收电子邮件列表,通过他们的批处理调用http://www.fullcontact.com/developer/docs/batch/将它们发送给 fullcontact ,然后更新Meteor 会根据响应状态进行相应的收集。来自 200 响应的片段
在本地运行 Vagrant 的 Windows 笔记本电脑上,我一次处理数十万封电子邮件没有任何性能问题。但是在 Digital Ocean 上,它似乎甚至无法处理 15,000(我已经看到 CPU 飙升到 100%,然后因 OOM 而崩溃,但在它出现之后它通常会稳定下来......这次不是)。让我担心的是,尽管应用程序上没有/很少活动,但服务器根本没有恢复。我已经通过查看分析验证了这一点 - GA 显示 24 小时内总共有 9 个会话,除了点击/弹跳之外,MixPanel 仅显示 1 个登录用户(我)在同一时间范围内。自从最初的失败以来,我唯一做的就是检查facts
包裹,它显示:
mongo-livedata 观察多路复用器 13 观察驱动程序-oplog 13
oplog-watchers 16 观察句柄 15 查询阶段花费的时间
87828 time-spent-in-fetching-phase 82 livedata
invalidation-crossbar-listeners 16 个订阅 11 个会话 1
Meteor APM 也没有显示任何异常,meteor.log 没有显示除了 OOM 和重启消息之外的任何流星活动。MongoHQ 没有报告任何运行缓慢的查询或大量活动 - 0 次查询、更新、插入、删除平均来自盯着他们的监控仪表板。据我所知,24 小时内没有太多活动,当然也没有任何密集的活动。从那以后,我尝试安装 newrelic 和 nodetime,但两者都不是很有效 - newrelic 没有显示任何数据,meteor.log 有一个 nodetime 调试消息
加载 nodetime-native 扩展失败。
因此,当我尝试使用 nodetime 的 CPU 分析器时,它会显示为空白,并且堆快照返回错误:未加载 V8 工具。
在这一点上我基本上没有想法,而且由于 Node 对我来说很新,所以感觉就像我在这里在黑暗中进行狂野刺伤。请帮忙。
更新:服务器在四天后仍然固定在 100%。即使是 init 6 也不会做任何事情 - 服务器重新启动,节点进程启动并跳回到 100% cpu。我尝试了其他工具,例如 memwatch 和 webkit-devtools-agent,但无法让它们与 Meteor 一起使用。
以下是 strace 输出
strace -c -p 6840
附加进程 6840 - 中断退出
^CProcess 6840 已分离
% time seconds usecs/call 调用错误 syscall
77.17 0.073108 1 113701 epoll_wait
11.15 0.010559 0 80106 39908 地图
6.66 0.006309 0 116907 读取
2.09 0.001982 0 84445
1.49 0.001416 0 45176 写入
0.68 0.000646 0 119975
0.58 0.000549 0 227402 时钟获取时间
0.10 0.000095 0 117617 rt_sigprocmask
0.04 0.000040 0 30471 epoll_ctl
0.03 0.000031 0 71428 获取时间
0.00 0.000000 0 36 mprotect
0.00 0.000000 0 4 制动
100.00 0.094735 1007268 39908 总计
所以看起来节点进程大部分时间都花在了 epoll_wait 上。
php - Apache 虚拟主机在 Internet 上显示空白页面,在本地工作正常
在您阅读完整的问题之前,请不要回答:)
在新创建的 DigitalOcean CentOS 6.5(64 位)服务器中,我尝试创建两个 Apache 虚拟主机 - www.example-rose.com
并www.example-tulip.com
发出以下命令:
服务器端设置
现在因为我想通过 SuEXEC 运行 PHP,我已经完成了为 SuEXEC 创建包装脚本的附加步骤
最后我在我的 httpd.conf 文件中添加了以下内容以启用虚拟主机
我重新启动服务器并将一个 index.php 文件放在 web 目录中,内容如下:<?php phpinfo(); ?>
.
本地机器
为了测试虚拟主机,我从本地机器发出了以下命令,使用curl
如果我尝试通过网络浏览器而不是curl
(在为域创建/etc/hosts
条目之后)访问,我会得到空白页。服务器中没有生成 Apache Access 日志或错误日志。如果我放置一个静态文件(而不是 php 文件),我可以毫无问题地访问该静态文件。但是 .php 文件不起作用。
然而
当我尝试curl
从DigitalOcean 的服务器本身(或从 DigitalOcean 网络中的其他服务器)访问时,我可以看到预期的 index.php 的phpinfo()
结果,没有任何问题。但是当我从 DO 的网络外部尝试时不起作用。
我已经完成了各种常见的故障排除(安装、重新安装、检查权限、一次又一次地检查 conf 文件等),现在我无能为力了。接下来呢?
在您阅读完整的问题之前,请不要回答:)
nginx - 部署 Pyramid 应用程序:Nginx + Pserve
我一直按照Pyramid Cookbook 中的这个秘诀尝试在 DigitalOcean 上部署我的应用程序。它似乎有效,Entering daemon mode
就像在本地机器上运行时一样,我收到了消息。
我还添加了我的域名并将我的名称服务器设置为指向 DigitalOcean。
但是,当我尝试在wisderm.com访问我的网站时,它不会加载。在这一点上我完全迷失了——我做错了什么?
这就是我的文件的结构:
这是我的 app.conf:
ruby-on-rails - Nginx 504 网关超时与 Unicorn 和 Rails 4
我在 Digital Ocean VPS 上运行 Rails 4 应用程序,并且在特定 HTTP 请求上收到 Nginx 504 网关超时错误。所有请求都成功,但这个特定的请求没有。我在生产模式下运行,并且我的 Rails 日志中没有错误或异常。
Nginx 日志如下所示:
Unicorn 日志如下所示:
据我所知,除了请求超时之外没有任何问题。这仅仅是增加 Nginx 的超时限制的问题吗?
我会很感激任何建议。谢谢!
node.js - 连接到 AWS S3 时 Node.js 崩溃
将我的应用程序从 IntoVPS 迁移到 Digital Ocean 后,我的应用程序在尝试将照片上传到 AWS S3 时崩溃。
服务器之间的区别是:IntoVPS 运行的是 Ubuntu 10.10,而 Digital Ocean 运行的是 Debian;IntoVPS 有节点 0.8.x,Digital Ocean 有 0.10.26。
新服务器上没有可能导致此问题的防火墙(我已经检查过)。
崩溃错误是:
其中一些可能与永远试图重新启动进程有关(我认为这就是 spawn 的含义)。我要关注的是 ECONNRESET 之一。
所以,我正在使用永远运行我的进程,并且我正在使用 knox 模块连接到 S3。
谷歌搜索后我发现:https ://github.com/LearnBoost/knox/issues/198
我尝试添加它在中所说res.resume()
的回调,但没有任何变化;putFile
我仍然收到 ECONNRESET 错误。
我花了一整天(昨天)试图解决这个问题,但我不能继续让我的生产应用程序被破坏,所以我决定尝试切换到旧版本的 Node 以暂时(但快速)修复这个问题。因此,我安装了 n 模块以尝试获取 0.8.26 作为安装的节点版本。不幸的是,n 没有用,这是我创建的问题:https ://github.com/visionmedia/n/issues/170
编辑:
退出我的 ssh 会话并打开一个新会话后,n 正在工作。但是,切换到 0.8.26 版本的节点会导致另一个错误:
正如你所看到的,我正在尝试用 S3 解决这个问题,而且我快哭了(隐喻地)。我不能一直在这个问题上浪费时间,但我似乎无法解决它。几乎就像 Node 本身坏了一样。
任何人都可以提供有关发生了什么的任何见解吗?对此的任何帮助表示赞赏。
为什么诺克斯不再工作了?
编辑
这里有更多细节。
错误代码:
所有照片无论大小或格式如何都会导致相同的错误。
ruby - rbenv - 编译 Ruby 2.1.1 时出错
我在 DigitalOcean Droplet 上编译 Ruby 时遇到问题。
rbenv 0.4.0-97-gfe0b243
Ubuntu 14.04 LTS
Linux bashman 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
给我:https ://gist.github.com/astropanic/e4d3a3602612b3c21636
失败似乎与以下方面有关:
有任何想法吗 ?
nginx - Capistrano 没有真正重新启动服务器?
我使用在 DigitalOcean 液滴上运行的 Capistrano 2.15 和 Nginx。
有时,特别是当我安装新的 gem 或运行迁移时,我需要硬重置我的 droplet 以使我的更改生效。
这不适用,如果我只是在某处更改代码,运行时
很好。
另外,当我登录到我的机器并运行时
它无助于捕捉新的迁移。
部署.rb
这是 unicorn_init: