相关疑难解决方法(0)

仅使用Node.js与使用Apache/Nginx的Node.js

在什么情况下,人们是否应该仅将Node.js用作实际部署中的服务器?

当一个人希望只使用Node.js的,有什么用Node.js的发挥更好?Apache还是Nginx?

node.js

208
推荐指数
6
解决办法
8万
查看次数

如何在具有不同域的同一IP /服务器上托管多个Node.js站点?

我有一个绑定了单个IP的Linux服务器.我想在此IP服务器上托管多个Node.js站点,每个站点(显然)都有一个唯一的域或子域.我希望他们都在80端口.

我有什么选择呢?

一个显而易见的解决方案似乎是让一个node.js网络应用程序服务的所有域都充当代理,并传递给在唯一端口上运行的其他node.js应用程序.

node.js

83
推荐指数
7
解决办法
7万
查看次数

基于Node.js的服务器与Apache HTTP服务器之类的东西

我最近一直在研究Node.js,并且遇到了一些关于编写基于Node.js的简单服务器的资料.例如...

var express = require("express"),
http = require("http"), app;

// Create our Express-powered HTTP server
// and have it listen on port 3000
app = express();
http.createServer(app).listen(3000);

// set up our routes
app.get("/hello", function (req, res) {
    res.send("Hello World!");
});

app.get("/goodbye", function (req, res) {
    res.send("Goodbye World!");
});
Run Code Online (Sandbox Code Playgroud)

...现在,虽然我似乎理解代码中发生了什么......我对术语有点困惑....因为当我听到术语服务器时,我会想到像Apache或Nginx这样的东西.我习惯于认为它们就像一个可以容纳我的Web应用程序的容器.Node.js服务器与Nginx/Apache服务器有何不同?基于Node.js的服务器(即代码)仍然可以放在像Nginx这样的东西中运行,这不是真的吗?那么为什么两者都被称为"服务器",尽管Node.js代码似乎是可以使用Nginx放置和提供的应用程序.

javascript apache nginx node.js

63
推荐指数
3
解决办法
3万
查看次数

如何制作分布式node.js应用程序?

创建node.js应用程序非常简单.

var app = require('express')();
app.get('/',function(req,res){
    res.send("Hello world!");
});
Run Code Online (Sandbox Code Playgroud)

但是假设人们开始沉迷于你的Hello World!应用程序并耗尽你的资源.这个例子如何在实践中扩大规模?我不明白,因为是的,你可以在不同的计算机上打开几个node.js实例 - 但是当有人访问http://your_site.com/时,它直接针对那个特定的机器,那个特定的端口,那个特定的节点进程.又怎样?

scalability http node.js

41
推荐指数
2
解决办法
2万
查看次数

如何为node.js服务器分配域名?

我有一个node.ja服务器列表到端口4000,访问该服务的URL是这样的:

http://42.12.251.830:4000
Run Code Online (Sandbox Code Playgroud)

我买了一个域名

www.mychat.com
Run Code Online (Sandbox Code Playgroud)

如何将其分配给我的服务器?首先我使用转发,但后来我再也无法使用location.hash向网址添加聊天频道.然后我使用了像Header-Redirect这样的东西.现在可以通过mychat.com访问该服务,但不能访问www.mychat.com.此外,域名不会显示在浏览器窗口中.对于我的聊天频道,我需要这样的话:

www.mychat.com/#238husd4
Run Code Online (Sandbox Code Playgroud)

javascript dns url node.js

39
推荐指数
1
解决办法
6万
查看次数

将Node.js(用于实时通知)添加到现有PHP应用程序

我有一个现有的PHP应用程序,我需要添加实时通知.为了实现这一点,我安装了node.js(打算为所有实时功能添加socket.io)

然而.尽管花了最后三个小时进行研究并试图了解如何整合这两者,但我发现自己没有接近获得理解.

我目前正在使用以下内容:

  • 阿帕奇
  • PHP
  • Nginx(作为Apache的反向代理,用于所有静态内容,如图像/ css文件等)
  • MySQL的

我已经编写了代码,它将一个事件从客户端发送到PHP并将通知插入到数据库中.当收件人刷新他们的页面时,他们当然会看到通知.我只需要node.js来处理推送到客户端的实时时间,但我不知道如何设置它.

鉴于这种情况,我真正需要知道的是:

  1. 如果/我希望所有内容仍然通过Apache/PHP提供,那么node.js/websocket连接到客户端的实例/时间是多少?
  2. 如何从PHP向Node.js发送消息并指示它将通知推送到客户端?
  3. 我需要对我的设置进行哪种后端修改才能支持此操作?

最后,我希望能够运行PHP函数并期望node.js/socket.io/websockets将通知推送到客户端.我根本不知道如何到达那里.

提前感谢任何示例/信息/指南.

php apache node.js

20
推荐指数
1
解决办法
6943
查看次数

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

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

似乎最简单的解决方案是使用像Forever这样的东西?......或Monit或Monit或Supervisor.那是对的吗?

我仍然不明白的一件事是没有使用像Ngnix这样的东西,我怎么能真正得到我的域名(例如example.com)来实际指向我的Node JS应用程序并且它正在运行端口?

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

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

deployment node.js ubuntu-10.04

12
推荐指数
1
解决办法
1万
查看次数

节点:缩放socket.io/nowjs - 跨不同实例进行缩放

在开始编写我的应用程序之前,我需要知道当单个node.js实例(express和(socket.io或nowjs))不再足够时该怎么做.

你现在可能告诉我,我不应该关心规模直到时间,但我不想开发应用程序并遇到麻烦,因为你不能轻易地在多个实例中扩展socket.io或nowjs.

我最近读到socket.io现在支持使用Redis进行扩展的方法(我也没有经验).Nowjs是基于socket.io构建的 - 它的工作方式是否相同?在nowjs.org上,您可以读到"NowJS的分布式版本"正在开发中,并且需要花钱.

node.js socket.io nowjs-sockets

11
推荐指数
1
解决办法
4947
查看次数

如何在端口80上为网站制作Node.js多租户?

我的最终目标是使每个服务器实例的node.js更具成本效益.

我不是在运营游戏或聊天室,而是为客户提供简单的网站.我想在一台服务器上容纳多个客户端,但是有多个网站使用主机头映射运行端口80.我想仍然使用快递,因为我正在做,但它更像是从端口80到其他节点应用程序的路由事件,如果这是可能的.如果它以这种方式完成节点可以更便宜,但目前它对我的目的而言更昂贵,因为如果在端口80上运行,每个客户都需要自己的盒子.此外,我的动机是关注节点开发但是必须有理由这样做所以在成本方面.

我在Windows中为ASP.NET做了很多这样的事情,因为IIS支持这种开箱即用的功能,我知道这对Apache来说也是正常的.

如果这不是正确的问题或者给予建设性的批评而不是随机的downvote,请随意将其移至堆栈交换中的另一个论坛.谢谢.

更新

我采用的方法是使用静态托管(通过gatspy和s3),然后使用API​​,通过来自客户端的邮件和来自服务器的API密钥注册域名,并在站点更改时定期生成静态站点,但感谢所有建议!

node.js

11
推荐指数
2
解决办法
1万
查看次数

Kubernetes前端和后端之间的通信

对于本地开发,我有一个工作的迷你管.我们部署了不同的服务.现在我想将前端与后端连接起来.

前端是一个有棱有角的应用程序,并以自己的服务为生.后端是一个node.js应用程序,它也使用单独的服务,并使用DNS连接到其他内部服务,如mongodb.

现在我想从前端与后端进行通信.DNS无法正常工作,因为前端不知道如何解析命名路由.问题是告诉前端它应该使用哪个后端URL和端口发送请求?

当我第一次使用NodePort类型启动Backend服务并将url和端口复制到Frontends目标URL时,接近了唯一的工作状态.我觉得这对我来说非常不洁净.是否有另一种方法可以将后端请求的URL添加到前端?

我知道当我们在具有type ="LoadBalancer"的生产系统上部署服务时,该服务是由外部IP公开的,然后我可以从那里访问该服务.并且外部IP将在pod更新等方面永久保留.我还看到的问题是后端IP需要通过额外的提交注入到docker容器中.

编辑(1):后端服务

apiVersion: v1
kind: Service
metadata:
  name: backend
  labels:
    app: some-app
    tier: backend
spec:
  type: NodePort
  ports:
  - port: 3000
  selector:
    app: some-app
    tier: backend
Run Code Online (Sandbox Code Playgroud)

编辑(2):当我从客户端请求fqn时,我也得到了这个响应:

OPTIONS http://backend.default.svc.cluster.local:3000/signup/ net::ERR_NAME_NOT_RESOLVED
Run Code Online (Sandbox Code Playgroud)

kubernetes

9
推荐指数
1
解决办法
4937
查看次数