如何在 OpenShift 上部署 NodeJS 应用

简介:

Red Hat 的 PaaS 平台 OpenShift 有三种版本:开源的 OpenShift Origin, 商用的 OpenShift Enterprise 以及 OpenShift Online,也就是这篇文章要谈论的公用版本。

OpenShift 搭配使用的命令列工具是用 ruby 写成,所以是包成 rubygem 而不是放在 npm 上。

在 Fedora 底下可以直接安装:sudo dnf install rubygem-rhc

透过 rhc setup 设定完成后,便可以 rhc app create 来建立一个新的 Gear 来存放程式。

更新程式都是透过 git 操作,push 上去后会自动执行 npm install --production,所以常会花不少时间才能完成,有时更新后遇到问题就得 rhc tail 去看看到底发生了什么事。

另外在 Web Console 裡面也能很方便地新增 MongoDB 等 Cartridge 来附挂功能,但由于免费的每个 Application 有 1G 容量的限制,得自己 rhc ssh 进去停掉 MongoDB 的 Journal 功能以节省用量。其实也可以直接用 MongoLab 提供的服务还来得更好用。

除此之外更麻烦的就是 inode 的数量上限只有 80000,偏偏 npm 装了一大堆东西之后很容易就会用掉上万个档案数目,要注意把 dependencies 跟 devDepenpdencies 区隔清楚。

OpenShift Online 提供了免费的叁个 Application 额度,虽然能够自订 CNAME 绑 domain 这点很不错,但由于提供的 Node.js 还停留在 0.10,再加上刚刚提到的种种问题,结论还是不推荐。但如果是在新手工作坊之类的场合要拿来玩玩应该还是很有用,不过这样还不如去用 Heroku 对 Node.js 的支援还更好。


本文作者:佚名

来源:51CTO

相关文章
|
3月前
|
JavaScript 前端开发 API
探索后端技术:Node.js的优势和实际应用
【10月更文挑战第6天】 在当今数字化时代,后端开发是任何成功软件应用的关键组成部分。本文将深入探讨一种流行的后端技术——Node.js,通过分析其核心优势和实际应用案例,揭示其在现代软件开发中的重要性和潜力。
212 2
|
2月前
|
监控 JavaScript 算法
如何使用内存监控工具来定位和解决Node.js应用中的性能问题?
总之,利用内存监控工具结合代码分析和业务理解,能够逐步定位和解决 Node.js 应用中的性能问题,提高应用的运行效率和稳定性。需要耐心和细致地进行排查和优化,不断提升应用的性能表现。
195 77
|
2月前
|
存储 缓存 JavaScript
如何优化Node.js应用的内存使用以提高性能?
通过以上多种方法的综合运用,可以有效地优化 Node.js 应用的内存使用,提高性能,提升用户体验。同时,不断关注内存管理的最新技术和最佳实践,持续改进应用的性能表现。
134 62
|
2月前
|
存储 缓存 监控
如何使用内存监控工具来优化 Node.js 应用的性能
需要注意的是,不同的内存监控工具可能具有不同的功能和特点,在使用时需要根据具体工具的要求和操作指南进行正确使用和分析。
77 31
|
2月前
|
JavaScript 前端开发 API
深入理解Node.js事件循环及其在后端开发中的应用
本文旨在揭示Node.js的核心特性之一——事件循环,并探讨其对后端开发实践的深远影响。通过剖析事件循环的工作原理和关键组件,我们不仅能够更好地理解Node.js的非阻塞I/O模型,还能学会如何优化我们的后端应用以提高性能和响应能力。文章将结合实例分析事件循环在处理大量并发请求时的优势,以及如何避免常见的编程陷阱,从而为读者提供从理论到实践的全面指导。
|
2月前
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
54 3
|
2月前
|
Web App开发 JSON JavaScript
Node.js 中的中间件机制与 Express 应用
Node.js 中的中间件机制与 Express 应用
|
2月前
|
JavaScript C++ 容器
【Azure Bot Service】部署NodeJS ChatBot代码到App Service中无法自动启动
2024-11-12T12:22:40.366223350Z Error: Cannot find module 'dotenv' 2024-11-12T12:40:12.538120729Z Error: Cannot find module 'restify' 2024-11-12T12:48:13.348529900Z Error: Cannot find module 'lodash'
47 11
|
3月前
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
|
3月前
|
JavaScript NoSQL 前端开发
使用 Node.js 和 MongoDB 构建实时聊天应用
【10月更文挑战第2天】使用 Node.js 和 MongoDB 构建实时聊天应用