Tag: digital ocean

数字海洋部署的Upstart node.js应用程序

我使用dokku (Docker驱动的mini-Heroku)将我的node.js应用程序部署到Digital Ocean。 该应用程序由Procfile( web: node app.js )中的命令启动。 如何用Upstart启动它,以便在崩溃后自动重启? 添加: 当我用git push dokku master部署的时候,我需要它是git push dokku master 。

数码海洋上的dokku sass错误

我有一个标准的DO dokku图像,我用它来托pipe一个Sails.js应用程序。 一切都很完美,直到我决定从less变成scss。 我添加了scss,可以在本地运行应用程序,但是当我推送到服务器(并查看日志),我得到以下错误: Aborted due to warnings. Running "sass:dev" (sass) task Warning: You need to have Ruby and Sass installed and in your PATH for this task to work. More info: https://github.com/gruntjs/grunt-contrib-sass 当我进入我的DO液滴并运行'sass -v'时,我得到了'Sass 3.4.20(Selective Steve)'作为回应,告诉我sass被安装。 我也有'grunt-contrib-sass':“^ 0.9.2”,在我的package.json文件中。 由于dokku在服务器上运行的命令与我在笔记本电脑上运行的相同,因此不确定在这里转到哪里?

kadirahq / mupvalidation部署失败

我尝试在Ubuntu 16.04上使用kadirahq/mup将应用程序部署到运行Ubuntu 16.04的Digital Ocean液滴。 我的应用程序在Meteor 1.4.1.1 ,并使用节点4.5.0报告。 我的机器的节点版本是6.6.0 。 我读了mup的常见问题,并试图增加deployCheckWaitTime ,并试图用高达2000值,没有任何变化。 在使用老版本的mup和mupx之前,我已经成功地将这个应用程序部署到了这个液滴,但是开始出现问题并决定升级到新版本。 我也有提示关于js-bson ,我已经在这里logging,似乎也许有关: meteor:js-bson:无法加载c + + bson扩展,使用纯JS版本 我最初使用dockerImage: 'kadirahq/meteord' ,但在阅读这个问题后,我把它改为dockerImage: 'abernix/meteord:base' ,它成功地解决了这个问题,但用这个replace了它。 当我运行mup setup ,一切运行成功。 mup deploy将成功运行所有步骤,直到validation部署步骤: (node:2785) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: 它吐出上面的,然后一堆东西,也吐在日志中,所以我把它放在下面。 mup logs –tail=200的输出是巨大的,每次运行时都会有所改变,但是我认为这是重复的: Error: $ROOT_URL, if specified, must be an URL at Error (native) at packages/meteor/url_server.js:8:1 at […]

(Node.js)如何获取存储在服务器中的二进制文件的URL?

我正在开发一个服务使用node.js,它返回一个URL到存储在我的服务的数据库中的文件。 在我的程序中,我将文件保存到,例如“./aFolder/filename.jpg”。 我打算使用DigitalOcean。 我的问题是:1.这种url的forms是什么? 2.如何使用node.js在我的代码中获取该url? 先谢谢你。

通过DDP连接Node-Ubuntu Droplet到meteorGalaxy服务器时出错

我试图将数字海洋-Ubuntu机器上托pipe的节点服务器连接到DDP上Galaxy上托pipe的Meteor服务器。 这个节点服务器处理一些CPU繁重的服务器任务,但是它所做的工作是在我的Meteor服务器上创build的。 所以,这两台服务器必须通过DDP进行通信。 在我的本地机器上运行我的节点服务器并连接到我的Galaxy托pipe的Meteor服务器时,这工作正常。 但是,一旦我将我的节点服务器移动到DO并尝试运行相同的代码,我得到一个连接超时错误。 任何想法为什么这会发生在试图从DO连接?

如何将客户端webpack包部署到生产?

我目前正在向我的数字海洋nodejs环境部署一个应用程序,这是一个客户端套件,与API交谈。 到目前为止,我一直在使用devserver进行开发,但是我猜这不是用于生产的,因为我的包是很大的(1.8 MB)。 这是我的devserver设置: var WebpackDevServer = require('webpack-dev-server'), webpack = require('webpack'), config = require('./webpack.config'); const compiler = webpack(config); const server = new WebpackDevServer(compiler, { historyApiFallback: true, compress: true, inline: true, hot: true }); server.listen(8000); 我的webpackconfiguration: var path = require('path'); var webpack = require('webpack'); module.exports = { entry: './src/main.js', output: { filename: 'app.js', }, devServer: { […]

即使持久性文件夹存在,应用程序也会崩溃,并显示“错误:ENOENT”

让我们假设我的digitalocean / dokku / nodejs / sails应用程序被称为example.com ,并且(将会)通过相应的域可用。 我已经为我的应用程序添加了一个持久性存储: dokku docker-options:add example.com run "-v /home/dokku/_work_:/_work_" dokku docker-options:add example.com deploy "-v /home/dokku/_work_:/_work_" 如果我运行dokku run example.com "ls /app/_work_"或dokku run example.com "ls /app/_work_/uploads"我可以看到文件夹存在,并且有文件/文件夹。 好的,现在在我的应用程序代码中,我想检查/app/_work_/uploads文件夹中的文件夹并删除一些旧的文件夹。 要做到这一点,我首先尝试通过以下方式获取/app/_work_/uploads中的文件夹列表: … var p = path.join(sails.config.rootPath, '_work_/uploads'); var dirs = fs.readdirSync(p); … 问题是我的代码失败,出现以下错误: Error: ENOENT: no such file or directory, scandir '/app/_work_/uploads' at Error […]

编辑现有的PM2过程

我有一个现有的PM2过程,我想添加“ – 最大内存重新启动”设置。 我怎样才能做到这一点? 该进程是从没有JSON文件的命令行创build的。 如果我正在创build一个新的进程,我会运行: PM2 start [process name] –max-memory-restart 700M或其他 我怎样才能做到现有的过程相同? 我怎样才能确认它的工作原理? 谢谢!