Articles of node.js

(节点)点击最大文件限制。 增加“ulimit -n”

在Ubuntu 9中,我在我的服务器上收到一条消息: (node) Hit max file limit. Increase "ulimit -n" 但是,在terminal中input命令会显示以下内容: $ ulimit unlimited $ ulimit -n 65535 而一个netstat显示我只有〜1000个连接打开。 尽pipenetstat说我有1000个活动连接,但是我怎么可能达到65535的限制呢? 有没有人看到一个服务器configuration问题,我可能忽略或有进一步的debugging技巧?

node.js服务器上的Apachebench在〜30个请求后返回“apr_poll:指定的超时已过期(70007)”

我刚刚开始使用node.js,并使用ab进行一些实验性负载testing,在约30个请求左右返回错误。 我发现其他页面显示比我更好的并发数字比如:http: //zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-php 是否有一些关键的服务器configuration设置需要完成这些数字? 我在上面看过内存,在运行ab的同时我仍然可以看到大量的可用内存,也看到了mongostat,而且看不到任何看起来可疑的东西。 我正在运行的命令,错误是: ab -k -n 100 -c 10 postrockandbeyond.com/ This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking postrockandbeyond.com (be patient)…apr_poll: The timeout specified has expired (70007) Total of 32 requests completed 有没有人有任何build议,我应该看看,可能是造成这种情况? […]

在AWS AMI实例上创build一个Sails.js应用程序

所以我遵循这里的指示,并在全新的Linux机器上创build了一个示例应用程序。 没有Apache,没有任何东西,试图使用Node,Express等来处理传入的http请求。 Sails说: info: Server lifted in `/home/ec2-user/simKeynes` info: To see your app, visit http://localhost:1337 info: To shut down Sails, press <CTRL> + C at any time. debug: ——————————————————– debug: :: Fri Aug 16 2013 17:22:27 GMT+0000 (UTC) debug: debug: Environment : development debug: Port : 1337 但是当我去关联的IP地址http://54.214.44.52:1337/我什么都看不到。 检查Chrome的开发工具我看不到任何回应,浏览器显示: Oops! Google Chrome could not connect […]

挂在等待查询的页面,耗费内存并花费2个小时才能失败

查看Fusion Reactor的附图,显示只是继续运行的页面。 时代已经进入了数百万人,我已经离开他们看看他们是否会完成,但那是当时只有2或3。 现在我得到了几十个从未完成的页面。 这是不同的查询,我看不到任何巨大的模式,除了它似乎只适用于我的7个数据库中的3个。 top显示的Coldfusion CPU使用率大约在70-120%之间,深入研究Fusion Reactor的详细信息页面显示所有build立时间都只用于Mysql查询。 show processlist没有任何exception,执行10 – 20个连接处于睡眠状态。 在这段时间内,许多页面都完成了,但是随着挂起的页面数量的增加,他们似乎永远无法完成服务器,最终只是返回白页。 唯一的短期解决scheme似乎是重启Coldfusion,这远非理想。 最近添加了一个Node.js脚本,每5分钟运行一次,并检查批处理csv文件,我想知道是否导致了一个窃取所有MySQL连接的问题,所以我禁用了(脚本没有connection.end ()方法),但这只是一个快速的猜测。 不知道从哪里开始,任何人都可以帮忙? 最糟糕的部分是永远不会超时的页面,如果他们这样做不会那么糟糕,但过了一段时间没有得到服务。 我正在使用Coldfusion和NodeJS作为我的主要脚本语言运行CentOS LAMP堆栈 在实际发布之前进行更新 在写这篇文章的时候,我在禁用Node脚本并重新启动Coldfusion之后开始了这个工作,这个问题似乎已经消失了。 但是,我仍然想要帮助确定页面为何超时,并确认Node脚本需要connection.end() 也可能只发生在负载,所以我不是100%确定它已经消失 UPDATE 仍然有问题,我刚刚在Fusion Reactor中复制了当前长达70秒的查询中的一个,并在数据库中手动运行它,并在几毫秒内完成。 查询本身似乎不成问题。 另一个更新 其中一个页面的堆栈跟踪仍在进行中。 服务器在一段时间内还没有停止提供页面,所有的Node脚本都被禁用了 http://pastebin.com/D6ycJf3X 更多更新 今天我又多了几个 – 他们真的完成了,我在FusionReactor中发现了这个错误: Error Executing Database Query. The last packet successfully received from the server was 7,200,045 milliseconds ago. The last packet […]

新贵不起作用

我按照这个教程来设置我的node.js服务器的新贵: http : //howtonode.org/deploying-node-upstart-monit 问题是,当我尝试运行“启动mynodeprogram”,我得到floowing错误: root@v:/# start mynodeprogram start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused 我用下面的命令安装了新手: root@v:~# apt-get install upstart Reading package lists… Done Building dependency tree Reading state information… Done The following NEW packages will be installed: upstart 0 upgraded, 1 newly installed, 0 to remove and […]

最便宜的托pipe一个node.js实现?

我正在寻找一个Linux托pipe公司,提供简单的node.js解决scheme,或者便宜的价格,或者两者兼而有之。 我真的没有什么经验寻找优秀的托pipe服务提供商,所以我正在寻找有经验或知识的人,而不是仅仅使用Googlesearch。 目前我不需要处理那么多的stream量。 但关键是node.js的实现很简单。 谢谢! UDPATE: 摸了摸 ,看起来webbynode有一些相当不错的支持和后面的一个体面的跟随,我真的在他们的15美元/月的计划。 不过,我仍然喜欢一些经验丰富的input。

使用lighttpd运行node.js应用程序

我目前正在我的服务器上托pipe一些网站,我使用Lighttpd。 现在我正在开发一个使用Node.js的Web应用程序,我希望能够创build指向Node.js应用程序的虚拟主机。 假设我想将test.com:80指向myserver.org:3000。 我不相信可以直接使用Node.js,因为端口80已经在机器上注册了。 所以我看到的唯一方法是使用Lighttpd的某种反向代理。 但我不知道如何以及如何去做。

允许node.js应用程序在端口80上运行

我正在遵循一个演练,指导您在Ubuntu机器上设置节点。 我正在configuration系统以允许节点在端口80上运行的步骤。它(以及我已经看过的一些其他指南)build议运行以下命令: sudo setcap cap_net_bind_service=+ep /usr/local/bin/node 这将返回以下错误: Failed to set capabilities on file `/usr/local/bin/node' (Invalid argument) The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file 任何想法可能会导致这个错误?

如何使用多核,反向代理和SSL在云中部署Node.js以实现高可用性

我已经发布到ServerFault,但Node.js社区似乎很小,所以我希望这会带来更多的曝光。 我有一个Node.js(0.4.9)应用程序,正在研究如何最好地部署和维护它。 我想在高可用性的云(EC2或RackSpace)中运行它。 该应用程序应该运行在HTTPS上。 稍后我会担心东/西/欧全面故障切换。 我对Keep-alive(Upstart,Forever),多核实用程序(赋格,多节点,集群)和代理/负载均衡器(node-http-proxy,nginx,Varnish和Pound)做了大量的阅读, 。 但是,我不确定如何结合我可用的各种实用程序。 我有这样的设置,需要解决一些问题,并得到反馈。 集群是Node.js最活跃,最受欢迎的多核实用程序,因此可以使用它在非特权端口(比如3000)上为每个应用程序服务器运行1个节点“集群”。 问题1: 永远应该用来保持群集活着还是只是多余的? 在端口80上运行每个应用服务器使用1个nginx ,简单地反向代理到端口3000上的节点。Q2 : node-http-proxy是否更适合于这个任务,即使它不能快速地gzip或服务器静态文件? 如上所述,具有最低2台服务器,独立服务器充当这些盒子上的负载平衡器。 使用Pound监听443来终止HTTPS并将HTTP传递给Varnish ,这将在上面的服务器的IP之间循环负载均衡。 Q3: nginx应该用来做两个呢? Q4:应该考虑AWS还是RackSpace负载均衡器(后者不会终止HTTPS) 一般的问题: 你有没有看到上面(2)的需要? 终止HTTPS的最佳地点在哪里? 如果将来需要WebSocket ,你会做什么nginxreplace? 你如何处理外部负载平衡器的单点故障? 我真的很想听听人们如何设置当前的生产环境以及他们喜欢的工具组合。 非常感激。

nginx粘性会话/ ip_hash与Socket.io

我将负责在不同的盒子上对两个node.js / Socket.io实例进行负载平衡,nginx运行一个简单的通知服务,并为新客户端提供追溯事件。 我不认为websocket连接types(这将是连接的主要方法)会有任何问题,因为维护的连接会否定会话的需要(除了重新连接,我不会太担心) 。 然而,轮询后备方法会有问题,因为它们依赖于客户端会话,并且在标准的roundrobin负载平衡(在这种情况下)下一轮民意调查将成为新客户的可能性为50%。 不是在两个盒子之间同步会话,而是让负载均衡器使用ip_hash指令或nginx-sticky-module来做一些半智能的路由。 ip_hash好像可以做这个工作,但是我可以看到它在移动客户端有潜在的问题,他们在3G上交换IP地址,或者在移动networking和WiFi之间改变IP地址,从而改变IP地址。 我有几个与此相关的问题。 如果你可以回答那个很棒的话 ip_hash是否有任何forms的寿命,或者IP地址是否永久分配给后端实例? 任何人都可以分享与Socket.io和/或移动客户端使用nginx负载平衡的经验/build议吗?