Articles of node.js

如何在debian上安装带salt的nodejs和npm包

我正在努力安装一个最近的nodejs版本和在debian上使用salt的npm包。 这是我的盐状态: nodejs-deps: pkg.installed: – names: – g++ – curl – libssl-dev – apache2-utils require: – pkg: git nodejs-source: git.latest: – target: /usr/src/nodejs – name: git://github.com/joyent/node.git – rev: v0.10.32-release nodejs-install: cmd.run: – cwd: /usr/src/nodejs – name: ./configure && make && make install – onlyif: if [ -z $(node –version) ] || [ $(node –version) != […]

是否可以确定性地跟踪端口80如何转发以及configuration在给定系统上的位置?

有没有一种方法可以确定或追踪在运行Ubuntu 14.04 LTS的系统上如何设置端口转发configuration,其中有一个NodeJS服务正在运行,并以某种方式接受通过端口80的连接,虽然服务本身在端口8080上运行,鉴于端口80连接清楚地表明Apache正在处理(请参阅下面的详细信息)? 我试图在系统上使用lsof -i :80 ,而根据lsof ,80端口上没有进程。有趣的是, ubuntu@ip-***-**-**-***:~$ sudo netstat -anp | grep apache tcp6 0 0 :::80 :::* LISTEN 10197/apache2 我确定它位于/etc/apache2/apache2.conf并且找不到任何VirtualHostlogging, ProxyPass或其他任何types的东西,我已经深入Apacheconfiguration。 我也检查了iptables -L以防万一。 httpry或类似的东西有助于找出端口转发configuration和运行的进程负责端口转发?

自动缩放基于EC2实例负载和SQS的Docker容器

我将从如何描述我的应用程序开始。 如果我网站上的用户添加任务,则该任务被分解为多个子任务,数量可以从1到10个任务变化。 这10个任务被添加到SQS队列中。 我有一个运行node.js和docker的Ubuntu EC2实例。 Node.js被configuration为侦听队列,一旦它接收到子任务消息,它就会产生一个Docker容器,它将执行子任务。 一旦子任务完成,容器被销毁。 我有一个c4.2xlarge的EC2实例,可以完美地执行上述过程,完成1个任务(10个子任务)。 然而,当多个任务同时被添加时,问题就出现了。 假设我对10个任务进行了testing,这些任务被分解为100个子任务,服务器在启动容器期间经历了严重的负载。 我如何去扩展这样的环境? 我一直在考虑保留一个停止的EC2实例池,是“停止”,因为产生新实例的延迟非常高,我想尽快消耗队列中的子任务,而不必承担全天候运行服务器的成本。 在node.js中写入负载平衡器是基于队列中的资源/消息数量的最佳方式吗?

在Azure网站上升级节点?

我试图用Azure网站上的NPM运行一些预部署任务(unit testing等),但是VM上的节点版本是v0.10.32,当前版本的节点是v4.2.4。 我通过SCM网站对命令行没有pipe理权限,没有RDP等。 有什么办法可以升级?

长轮询选项:Nginx,PHP,Node.js

也张贴在这里: https : //stackoverflow.com/questions/8839295/long-polling-options-nginx-php-node-js 我正在devise一个长轮询应用程序,可以很快地向很大数量的用户发送小的更改。 该应用程序将与运行相当标准的CMS网站串联运行。 他们都将在一台服务器上运行,并开始数据库。 我来自一个LAMP环境,我绝对是一个开发人员,而不是一个系统pipe理员。 这就是说,我不害怕尝试一些新的东西。 我花了一天时间研究我的select,我希望人们可以回答一些问题,并给我一些build议。 我已经缩小到这些: A. Apache and php for the website, Node.js for the app (running on a separate ip) B. Nginx and php for both the website and app C. Nginx and php for website, Nginx and Node.js for the app 所以问题: Nginx如何处理PHP的非multithreading;)。 PHP会certificateApache是​​否具有长时间轮询的瓶颈? 我听说它build议我使用nginx作为Apache和Node.js前面的反向代理,这是比nginx更好的解决scheme吗? 如果是这样,为什么? 你使用了哪个选项? […]

HAProxy + nginx在24小时内达到最大numtcpsock

我正在运行一个相对简单的VPS(一个媒体寺(ve))与几个基于PHP的网站和(最终)几个节点服务器。 为了启用WebSockets支持,我在端口80上使用HAProxy,该端口路由到nginx或特定的Node进程。 然而,我最近遇到了一个问题,在24小时内,我的服务器达到了打开的TCP连接的最大允许数量(Parallels Power Panel中的numtcpsock设置为1000)。 单独运行nginx不会导致这个问题,而且我目前没有活动的Node后端服务器。 Nginx通过一个UNIX域套接字连接到PHP(同样,单独的nginx不会出现这个问题)。 有什么想法可能导致这个? 我的configuration: global ## 00-base maxconn 500 nbproc 2 defaults ## 00-base mode http frontend all ## 00-ports bind 0.0.0.0:80 ## 10-config timeout client 86400000 default_backend nginx backend nginx ## 00-timeouts timeout http-keep-alive 5000 timeout server 10000 timeout connect 4000 ## 10-servers server main localhost:8000 提前致谢! 更新 :在一点点的ing​​之后,我能够确定90%以上的开放TCP套接字实际上是由HAProxy拥有的,绝大多数是在CLOSE_WAIT或者FIN_WAIT2状态。 […]

不确定如何在Windows Azure上设置两台虚拟机以匹配我所需的体系结构

我正在尝试在Windows Azure上安装一对Win2008服务器虚拟机(使用虚拟机预览function),我不知道如何正确地获得所需的“体系结构”设置。 这就是我想要达到的目标 – 我想要一台服务器只能作为运行MongoDB的数据库服务器(我知道他们说Linux比较好,但是由于各种原因我现在只限于Windows)。 我想要第二个服务器,将作为我的networking服务器。 这个Web应用程序将会运行node.js. 数据库服务器只能接受来自Web服务器的连接,并且只能在握手成功之后才能接受连接。 我可以通过在数据库服务器上运行第二个node.js服务器来解决握手问题,该服务器基本上充当数据库的Rest API,同时validation握手,而不是。 我有一个问题搞清楚的是如何使数据库服务器只接受来自我的Web服务器的连接? 如果我们假设为数据库服务器构build了第二个node.js应用程序,考虑到我可以构build节点应用程序只接受来自特定IP地址的连接,甚至需要这种networkingconfiguration吗? 或者在别的地方维持这个规则还是有道理的? 我对networking一无所知,所以这一切都在我的头上。 我将不胜感激任何帮助,指导,链接等任何人都必须分享:)

在一个端口上托pipe多个Nodejs应用程序

我试图运行多个nodejs应用程序(使用快速框架)所有服务在同一个外部端口(80),但每个子目录下。 比如我想… NodeJsApplication1在http://www.mydomain.com/NodeJsApplication1上可用 NodeJsApplication2在http://www.mydomain.com/NodeJsApplication2上可用 等等 我曾尝试使用Nginx作为代理类似于以下的configuration文件。 server { listen 80; server_name www.mydomain.com; location / { root /var/www/html; index index.html index.htm; } location /NodeJsApplication1/ { proxy_pass http://0.0.0.0:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; rewrite /NodeJsApplication1/(.*) /$1 break; } location /NodeJsApplication2/ { proxy_pass http://0.0.0.0:3001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; rewrite […]

在CentOS下运行的Node.js应用程序的连接超时

我按照这个教程在我的CentOS上创build了一个简单的node.js应用程序: node.js版本是: $ node -v v0.10.28 这是我的app.js : // Include http module, var http = require("http"), // And url module, which is very helpful in parsing request parameters. url = require("url"); // show message at console console.log('Node.js app is running.'); // Create the server. http.createServer(function (request, response) { request.resume(); // Attach listener on end event. […]

在Centos 7上安装Node 0.12.x二进制文件

截至这篇文章,似乎没有任何可用于安装NodeJS 0.12.x的yum或rpm选项。 甚至Node的半官方yum回购(nodesource.com)仍然在RHEL发行版0.10.x上。 所以有两种select,从源代码构build或下载二进制发行版。 首先我要去尝试二进制文件: http://nodejs.org/dist/v0.12.4/node-v0.12.4-linux-x64.tar.gz 解封后,我该怎么办? 我知道有node和npm可执行文件。 还有什么我需要知道的吗? 我在哪里可以移动所有内容以及需要符号链接的内容? 这些文件在服务器上的正确位置在哪里?