nodejs与cloudfoundry之二:tunnel to mongodb

理解Nodejs中的进程间通信 ⚠️ 只有在启动的子进程是 Node 进程时,子进程才会根据环境变量去连接对应的 IPC 通道,对于其他类型的子进程则无法实现进程间通信,除非其他进程也按着该约定去连接这个 IPC 通道。当我们的进程启动之后,操作系统会给每一个进程分配一个 PCB 控制块,PCB 中会有一个文件描述符表,存放当前进程所有的文件描述符,即当前进程打开的所有文件。并且它是在系统内核中完成的进程通信。调用 dup(3) 的时候,会打开新的最小描述符,也就是4,这个4指向了3所指向的文件,操作任意一个 fd 都是修改的一个文件。 阅读详情

更多内容参考系列文章: nodejs系列提纲

如果你使用CloudFoundry(简称CF)这样一个PaaS做为你的NodeJs项目的部署环境,的确可以省事,起码不用自己安装nodejs和相关的service,而其部署方式也比AWS似乎来得更加容易。至少我的经历是这样的。ASW的Elastic Beanstalk老半天都不能通过Eclipse的插件同步到服务器,最后只能打包成war包,然后通过网页上传。而CF的vmc则要方便快捷高效得多。但是如果你使用了CF的mongodb,如何才能直接访问CF的mongodb呢?幸好CF提供了一个Tunnel功能。这里就是要讲述如何使用这个东西。

1. 准备工作

前提条件是要有vmc,如何安装vmc可以参考官方的文章

2. 安装caldecott

运行下面的命令安装caldecott

$sudo gem install caldecott

3. 创建Tunnel

创建mongodb service

$vmc create-service mongodb foodb

如果已经存在mongodb service自然可以越过这一步。

创建Tunnel

$vmc tunnel foodb

运行之后提示你输入密码,也就是你的CF帐号密码。

Deploying tunnel application 'caldecott'.
Create a password:*******

成功之后输出如下信息

Uploading Application:
  Checking for available resources: OK
  Packing application: OK
  Uploading (1K): OK   
Push Status: OK
Binding Service [mongodb-blog]: OK
Staging Application: OK                                                         
Starting Application: OK                                                        
Getting tunnel connection info: OK

Service connection info: 
  username : *******
  password : *******
  name     : db

Starting tunnel to mongodb-blog on port 10000.
1: none
2: mongo
Which client would you like to start?:

注意这里的显示的用户名和密码是一长串字符串,应该是GUID,是作为你用客户端登陆时使用的,而显示的名字则是登陆时要指定的数据库名字,而不是你自己真正的数据库名字。接下来选择你要使用的client,我们这里使用1:none,也就是不要连接这个tunnel,因为待会我们自己另外启一个shell来连接。于是乎输入1,然后输出结果为。

Open another shell to run command-line clients or
use a UI tool to connect using the displayed information.
Press Ctrl-C to exit...

如果开始就决定使用1选项的话,可以在创建Tunnel的时候就直接使用下面的命令

$vmc tunnel foodb none

4. 连接Tunnel

重开一个shell,运行下面的命令:

mongo -port 10000 -u <your username> -p <your password> db

注意这里要求使用上面提到的用户名和密码,而且我们指定的数据库名称时上面生成的名称"db",而不是我们真实的db名称"foodb".

这样就可以连接成功了,接下来也就是象普通的mongodb命令行操作了。


Amazon RDS MySql入门指南 原文: http://ramonblog.cloudfoundry.com/blog/4fd831002de195990a000001 AWS提供的RDS(Relational Database Service)是AWS的数据库解决方案之一,它是基于关系数据库的,支持MySql,Oracle和MS SqlServer。这里只简单介绍以下Mysql的应用,更多信息请查看RDS官方文 阅读详情

相关推荐

testingbot-tunnel-launcher:NodeJS模块以启动和配置TestingBot.com隧道

testingbot隧道发射器 一个库,用于下载并启动TestingBot隧道。 安装 npm install testingbot-tunnel-launcher 用法 简单用法 var testingbotTunnel = require ( 'testingbot-tunnel-launcher' ) ; testingbotTunnel ( { apiKey : 'key' , apiSecret : 'secret' , verbose : true } , function ( err , tunnel ) { if ( err ) { console . error ( err . message ) ; return ; } console . log ( "Tunnel ready" ) ; tunnel . close (

node-tunnel:无公网IP主机的端口转发指南

node-tunnel:无公网IP主机的端口转发指南 1. 目录结构及介绍 node-tunnel 是一个基于Node.js实现的端口转发工具,它允许你在没有公共IP的私有网络中的机器通过某个拥有公共IP的中继服务器与其他任何地方的机器建立连接。以下是该仓库的基本目录结构及其简介: .gitignore:定义了不应被Git版本控制的文件类型或模式。 agent.js:代理服务端脚本,运行在具有公...

gitblog_01015的博客 817

node-http-tunnel:用于绕过限制性防火墙的 HTTP 隧道

node.js 的 HTTP 隧道 客观的 通过 HTTP 隧道任意 TCP 连接。 安全 在 HTTP 隧道上使用 SSH 隧道 通过 HTTP 隧道转发端口 在 HTTP 隧道上使用 SSH 隧道 如何使用 # On server outside the firewall ./server & disown exit On your machine inside the firewall ./client # This sets up a SOCKS5 server on your local machine Use with SSH ssh -o ProxyCommand "./ssh-connect # On server outside the firewall ./server & disown exit On your machine inside the firewall

node-tunnel 项目常见问题解决方案

node-tunnel 项目常见问题解决方案 项目基础介绍 node-tunnel 是一个用于 Node.js 的 HTTP/HTTPS 代理隧道工具。它允许用户通过代理服务器进行 HTTP 或 HTTPS 请求。该项目的主要编程语言是 JavaScript,适用于 Node.js 环境。 新手使用注意事项及解决方案 1. 安装问题 问题描述:新手在安装 node-tunnel 时可能会遇到依赖安...

gitblog_00796的博客 345

http-tunnel:node.js Web隧道-无论您身在何处,都可以共享您正在使用的localhost内容

简单来说 如果您正在旅途中,在十五个防火墙的保护下,并且想要共享您正在本地开发的某些Web应用程序,或者只想与某人快速共享一组文件; 该工具将完成工作! http-tunnel可以通过adhoc express实例将传入的连接转发到本地运行的webapp,或者为当前的工作目录(如果没有索引文件,还提供一个可选目录列表)。 是的,它支持WebSockets。 安装及使用 安装? 简单的! $ npm install -g http-tunnel 将文件夹共享为网站? $ mkdir somefolder $ cd somefolder $ echo hi > file.txt $ http-tunnel --server pub.2x.io -d -s 这将通过公共URL(例如http://foofy.pub.2x.io创建隧道,并提供somefolder目录( -s参数)的内容以

http-tunnel(隧道)

QQ上网代理,能够在突破端口限制!!!!!!!!!!!!!!!!!

nodejs使用axios代理https失败的解决方案

nodejs使用axios代理https失败的解决方案 2010/11/12 前言 在node环境下做些简单的爬虫时,需要用代理地址,如果访问的目标站点 是https协议,用axios就会有些问题 解决方法 1.使用tunnel隧道代理 node-tunnel – 用于HTTP/HTTPS的隧道代理 具体参考(tunnel)[https://www.npmjs.com/package…] 安装npm install tunnel 使用 const axios = require('a

小J的博客 4884

VLA强化学习训练:π0到π0.5的技术优化与实现

视觉语言动作模型(VLA)作为多模态强化学习的重要分支,通过融合视觉、语言和环境状态数据实现智能决策。其核心技术在于多模态特征融合与动作空间设计,其中PPO算法因其出色的训练稳定性成为首选方案。在工程实践中,延迟补偿机制和课程学习设计能显著提升模型性能,如在四足机器人项目中使避障成功率提升47%。针对实际部署中的性能下降问题,需要特别关注硬件量化参数和控制频率一致性等关键因素。本文通过π0与π0.5版本的对比实验,详细解析了VLA模型在机械臂控制等具身智能场景中的优化路径。

weixin_29041767的博客 246

Localtunnel(Node.js 版) 使用教程

简介 Localtunnel 是一个可以让内网服务器暴露到公网上的开源项目。 客户端 安装 $ npm install -g localtunnel 使用 假设本地服务器在 8000 端口,我们可以通过下面的命令把本地服务器暴露到公网中 $ lt –port 8000 your url is: https://uhhzexcifv.localtunnel....

Rainy_X的博客 1509

用Plecs搞定半桥LLC谐振变换器仿真:从开环模型搭建到闭环PI调参全流程

本文详细介绍了使用Plecs仿真工具进行半桥LLC谐振变换器从开环模型搭建到闭环PI调参的全流程操作。涵盖仿真环境准备、关键元件参数计算、波形异常排查、闭环控制实现及PI参数整定等核心内容,特别针对仿真中的收敛性问题提供实用解决方案,助力电力电子设计者高效完成LLC变换器仿真验证。

weixin_28455801的博客 570

数据工程师——ETL

文章摘要 ETL(数据抽取、转换、加载)是数据处理的核心流程,负责将分散数据源整合为高质量数据。ETL与ELT的主要区别在于转换步骤顺序,分别适用于不同规模数据场景。数据仓库通过ETL从多个数据源集成数据,支持分析决策。维度建模中的事实表记录业务指标,维度表提供上下文信息。缓慢变化维度(SCD)处理随时间变化的维度数据,常见类型包括直接覆盖型、新增版本型等。数据清洗解决数据缺失、重复、错误等问题,确保数据质量。数据血缘记录数据流转路径,便于问题排查和影响分析。常用ETL工具如Kettle通过转换和作业实现数

weixin_45729710的博客 1559

使用Node.js + Mongodb构建基于Cloud Foundry的项目

随着云计算的兴起,很多厂商都推出了自己的云计算平台,如VMware、Amazon、Google、Microsoft等。 本文将介绍VMware公司的云计算平台 - Cloud Foundry,本文将使用Node.js + MongoDB构建基于Cloud Foundry的项目。 必备知识: Node.js和NPM命令行的使用。 Node.js的语法。 MongoDB的语法

Kenshin's Flex Blog 2726

看不懂分子动力学模拟的结果?一文读懂RMSD曲线

随后,将每一帧结构与初始模板进行叠合,计算对应原子的平均偏移量,即RMSD。总之,掌握 RMSD 的解读方法,就等于抓住了评估分子动力学模拟成败与质量的“总开关”。①在模拟初始阶段,RMSD会从0迅速上升,这是蛋白质从静态晶体或模型结构释放到溶液环境中并逐渐适应的正常过程。②经过一段时间后,曲线不再系统性上升或下降,而是围绕一个平均值,小幅度地上下波动,形成一个稳定的“平台”。这种情况下,RMSD 在初始快速上升后,并未进入平台,而是持续甚至加速上升,始终未见收敛。🔍 如何解读不同趋势的RMSD曲线。

weixin_46587777的博客 4887

nodejs ssh连接mysql_javascript – 通过SSH连接的Nodejs Numtel Mysql

我在使用numtel meteor包通过网络发送和接收MySql信息时遇到了问题(数据库位于服务器上).目前,它能够使用他的软件包将信息从db推送到屏幕,但问题出现在第一次加载之后.在第一次加载时,它能够从数据库中检索信息,并将其显示在屏幕上,但在此之后的任何事情,似乎触发器都被破坏了,但只是稍微有点.我能够向服务器发送信息,但似乎在动态检索上失败了.信息很好地发送到服务器,但信息不会被检索并显示...

weixin_42525328的博客 667

常用的串口通信工具MobaXterm、Bus Hound、SScom等

本文介绍了四种PC端串口通信工具的功能和使用方法:MobaXterm支持SSH、FTP、串口等多种协议;Bus Hound用于监控CAN和串口数据;SScom专为串口和网口通信设计;ScriptCommunicator可进行串口通信并绘制波形图。每种工具都有详细的操作步骤图示,包括参数设置、数据监控等关键功能,并提供了官方和个人下载地址。这些工具各有特点,适用于不同的串口通信和数据分析场景。

sanqima的专栏 2486

SOC Boot学习(二)——JTAG Debug介绍

JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。如今大多数比较复杂的器件都支持 JTAG 协议,如 ARM 、 DSP 、 FPGA 器件等。

yttt的博客 1605

Node-WebSocket-Tunnel 项目常见问题解决方案

Node-WebSocket-Tunnel 项目常见问题解决方案 项目基础介绍 Node-WebSocket-Tunnel 是一个开源项目,它允许用户通过 WebSocket 协议使用 SSL 加密隧道传输 TCP 连接。该项目包含一个服务器端代理和一个客户端控制台,可以用来在受限网络环境下安全地路由连接到任何网络主机。项目主要使用 JavaScript 语言开发。 新手常见问题及解决步骤 问题一...

gitblog_00880的博客 334

基于Simulink的PMSM轮毂电机崎岖路面悬架协同控制仿真

本文完成了基于Simulink的PMSM轮毂电机崎岖路面悬架协同控制仿真,实现了:✅ 构建了四轮独立驱动+主动悬架高保真整车模型✅ 实现了Skyhook主动悬架控制✅ 设计了驱动-悬架状态共享与协同决策机制✅ 验证了5 m/s高速下连续颠簸路面稳定通过能力✅ 为高性能移动机器人提供一体化底盘解决方案。

xiaoheshang_123的博客 190

nodejs——本地对外调试神器localtunnel,内网服务直接暴露给公网

虽然通过局域网可以进行本地调试,但是如果我们需要对外提供一个可访问的回调地址,进行开发调试,这样局域网就搞不定了。而且项目处于开发阶段,上传到服务器啥的麻烦,而且也不方便开发调试。 还好,nodejs提供了localtunnel模块,简直堪称神器。 1.安装   npm install -g localtunnel 2.运行   lt --port 8360   (your url is: htt...

u014132820的专栏 2392

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

NodeJS中配置请求代理服务器

先来说说场景,之前我写过一个小爬虫,node写的,一直都是当做玩具来用的。某天不知道谁在刷我的接口,导致被拉黑了。 大佬让我换个机器重新装一下,但是因为我的里面用到了一个图片处理库sharp装起来很烦,然后就研究研究能不能搞个代理服务器。 大体是如上图,用户的请求最后都会通过我的服务器去请求对方服务器,这就导致频率一高就被封。 那么我可以请求代理服务器,甚至是做一个代理池,再把请求平均开。 既然方案定下来了,那么我们就要开始测试了。先找找自己怎么做,然后看看有没有现成的服务。 代理服务器...

高先生的猫 2421

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

demo解析 小程序node.js_小程序-demo:小程序示例

# 微信小程序客户端腾讯云增强 SDK[![Build Status](https://travis-ci.org/tencentyun/wafer-client-sdk.svg?branch=master)](https://travis-ci.org/tencentyun/wafer-client-sdk)[![Coverage Status](https://coveralls.io/rep...

weixin_33855578的博客 147

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

HTTP Tunnel使用的几种使用 经典

HTTP Tunnel使用的几种使用 经典

gftygff的博客 1万+

Localtunnel(内网映射) 使用教程---Node.js

学习node.js接入微信公众号时的内网映射

weixin_42854904的博客 2333

[NodeJs系列]聊一聊SSH

如果你对NodeJs系列感兴趣,欢迎关注微信公众号:前端神盾局 或 github NodeJs系列文章 身为一枚合格的搬砖工程师,笔者经常需要登录服务器去查看日志或者部署应用,ssh也随之成为最常用的linux命令之一。本文主要是对SSH的概念和用法做一些简单的梳理,大神请绕道。 什么是SSH SSH是一种加密的网络传输协议,可在不安全的网络中为网络服务提供相对安全的传输环境。任何网络服务都可以...

weixin_34302561的博客 1073
上一篇: 如何调试NodeJS
下一篇: NodeJs upload files based on Express
llmlx
博客等级 码龄23年 15粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值