将域指向我的远程 Node JS 应用程序?

2024-01-02

我正在尝试弄清楚如何在我的 Ubuntu 10.04 LTS 服务器上准确部署 Node JS。我读过许多不同的博客和文章,它们解释了多种不同的方式。大多数似乎已经过时了,或者看起来并没有真正发挥作用。

看来最简单的解决办法就是使用Forever之类的东西? ...或者是 Monit 或 Supervisor 的暴发户。那是对的吗?

我仍然不明白的一件事是,如果不使用 Ngnix 之类的东西,我如何才能真正让我的域名(例如 example.com)真正指向我的 Node JS 应用程序及其正在运行的端口?

非常感谢您的指导。我不是这方面的专家,所以请原谅我在这里缺乏知识。 (我正在尽力!:)

更新:我问这个问题的原因是在我的服务器上,我为我的静态/Django 项目运行了 Ngnix。我想对我正在使用的一些示例 Node JS 应用程序使用相同的服务器。我已经关注了有关 vhosts 和 Connect with Node JS 的链接,这在某种程度上很好,但我仍然不明白如何让我的域之一实际指向我的服务器上的此 Node 应用程序?


您需要将域名的概念与实际服务器分开。域名points到服务器。当浏览器(或其他客户端)请求 example.com 时,DNS 会查找关联的 IP 地址并directs浏览器连接到该 IP 地址的服务器。

然后,浏览器通过查看 URL 来选择通过哪个端口发送请求。例如,对 example.com:345 的请求将选择端口 345。如果未指定,默认情况下,当使用 HTTP 时,它将使用端口 80。

所以浏览器已经通过端口80发送了请求。现在,在你的服务器上,有一个程序倾听到那个港口。对于你来说,它会是 nginx。 Nginx 读取请求(“哦,您正在寻找index.html”)并返回您请求的内容。

在您的场景中,Node.JS 取代了 Nginx。为了让 Node.JS 做出响应,它还需要监听端口并做出适当的响应。这就是你的代码的用武之地:

require('http').createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(1337, "127.0.0.1");

这将启动一个服务器,侦听端口 1337。任何定向到 example.com:1337 的请求都将由此 Node.JS 应用程序响应“Hello World”。

tl;dr:您的域名已经指向您的服务器。您可以通过 example.com:1337 访问您的应用程序,其中 1337 是您的端口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将域指向我的远程 Node JS 应用程序? 的相关文章

随机推荐

  • 提交时如何将 Git 提交 ID 填充到文件中?

    我想创建 Git 钩子 它将填充我将要在源代码中创建的文件 基本上是变量替换 的提交的提交 ID 这可以用 Git 实现吗 或者事实上 通过将变量解析为 git id 我将更改 sha 1 从而导致 先有鸡还是先有蛋 的问题 我针对类似情况
  • Cucumber @Before 钩子运行两次 @After 一次

    给所有人 目前正在写一个BDD测试自动化框架 使用Java11 Junit5 Cucumber Selenium 构建工具 Gradle 创建了一个用于验证 Google 标题的小测试 开始测试时 使用Test task在 Gradle 或
  • 如何在 jQuery 中获取图像的当前位置?

    我一直在开发一个具有背景的图像处理脚本 用户可以将一个或多个图像上传到该背景上 我希望用户能够在背景周围拖动和移动 最后他们可以生成最终图像 但是 我不知道如何获取 BG 上可拖动图像位置的位置 我一直在互联网和电子书上搜索 但没有任何线索
  • htaccess 带有 PHP 和 URL 变量的漂亮 URL

    希望有人可以在这里提供一些帮助 这是一个涉及多个层面的问题 简而言之 我想要拥有漂亮的 URL 这些 URL 使用文件夹中文件的 URL 变量 所以 我想要http www example com page path to page htt
  • 未定义的方法“save”使测试在测试结束之前失败

    我正在关注 ruby railstutorial org 我遇到了一些麻烦 但我解决了它们 然而 现在我在谷歌上搜索了相当长的一段时间 检查了代码 我什至知道为什么测试失败 但不知道如何让它通过 所以 问题来了 我有一个用户模型 class
  • 无法将密钥发送到定向 Paypal 登录页面

    我正在为 Paypal Checkout 编写一个自动填充机器人 paypal 登录页面是从另一个网站重定向的 因此与官方 paypal 登录页面略有不同 尽管 HTML 类似 我尝试过不同的方法 比如switch to frame scr
  • 运行 Spring MVC 测试时出现 NoSuchMethod 错误

    我正在尝试按照 Spring in Action 第四版 第 5 章中的示例来创建我自己的项目 仍然是企业级的新手 我正在使用 Windows 7 PC Java 7 Spring 4 和 Maven 当我运行 ClinicalNoteCo
  • Hbase快速统计行数

    现在我实现了行计数ResultScanner像这样 for Result rs scanner next rs null rs scanner next number 如果数据达到百万次计算量很大 我想实时计算我不想使用Mapreduce
  • Spring框架4.3.0 - 我什么时候需要@Autowired?

    我刚刚开始学习 Spring 框架 我使用版本 4 3 0 我认为我们需要 Autowired 来告诉框架何时一个类需要注入 不过 我今天尝试这样做 Component public class CDPlayer implements Me
  • 如何在 C++ 中创建动态数组的数组

    我正在尝试学习 C 并尝试为简单的哈希表编写代码 如下结构 array 0 0 array 0 1 array 0 2 key 1 value 1 value 2 array 1 0 array 1 1 key 2 value 3 arra
  • SQLAlchemy 关系加载器在表上留下锁?

    我有非常简单的代码导致我的 MySQL 数据库挂起 import sqlalchemy as sa from sqlalchemy import orm creating the engine the base etc import uti
  • 如何在 Jetty 中部署 Servlet?

    我创建了一个简单的 Servlet 我想将其部署在 Jetty 7 2 中 Jetty 正在运行并且能够为 JSP 页面提供服务http localhost 8080 jonas test jsp 我用 Jetty 启动java jar s
  • React 18 TypeScript 儿童 FC

    我升级到 React 18 并且编译得很好 如今 似乎每个使用子组件的组件都会抛出错误 Property children does not exist on type IPageProps 在儿童道具自动包含在之前FC界面 现在看来我必须
  • 将 IN 子句与 PIG FILTER 结合使用

    PIG 支持 IN 子句吗 filtered FILTER bba BY reason not in a b c d 或者我应该把它分成多个 OR Thanks 您可以使用 Apache DataFu 中的以下 udf 代替 这将帮助您避免
  • 如何在 JPA 2.0 项目中加载 Hibernate 'xxx.hbm.cfg' 文件?

    我刚刚启动了一个 Spring Roo 应用程序 使用 Hibernate 作为 JPA2 0 提供程序 我使用罐 子的方式如下 hibernate core 3 6 4 Final jar hibernate commons annota
  • 使用 C# 中的架构进行 XML 解析

    我正在编写一些在运行时加载 xml 文件的代码 目前 我们使用 XmlDocument 类型来读取 xml 文件 并在 SelectSingleNode 语句周围包装一个 try catch 这是在节点为 null 或在我们解析用户时不存在
  • iOS 从后台重新检查加载位置

    我正在构建一个应用程序 它根据您当前的位置显示结果数据 目前 我正在使用viewDidLoad的方法UIViewController开始CLLocationManager并获取当前位置 一旦我获得了与我想要的准确性相匹配的位置 我就会向我的
  • 从发布的 JSON 获取经典 ASP 变量

    我正在尝试通过 AJAX 将 JSON 发布到经典 ASP 页面 该页面检索值 检查数据库并将 JSON 返回到原始页面 我可以通过 AJAX 发布 JSON 我可以从 ASP 返回 JSON 我无法将发布的 JSON 检索到 ASP 变量
  • 在 Golang 中导入 C 错误:cc1.exe:错误:给出的文件名太多

    我正在尝试导入并使用 C 包 但我不断收到此错误 runtime cgo cc1 exe error too many filenames given Type cc1 exe help for usage cc1 exe fatal er
  • 将域指向我的远程 Node JS 应用程序?

    我正在尝试弄清楚如何在我的 Ubuntu 10 04 LTS 服务器上准确部署 Node JS 我读过许多不同的博客和文章 它们解释了多种不同的方式 大多数似乎已经过时了 或者看起来并没有真正发挥作用 看来最简单的解决办法就是使用Forev