Articles of node.js

如何configurationnginx,使其与Express一起工作?

我正在尝试configurationnginx,以便对我的节点应用程序进行proxy_pass请求。 StackOverflow的问题得到了许多upvotes: https ://stackoverflow.com/questions/5009324/node-js-nginx-and-now,我使用从那里的configuration。 (但由于问题是关于服务器configuration,它应该是在ServerFault上) 这里是nginxconfiguration: server { listen 80; listen [::]:80; root /var/www/services.stefanow.net/public_html; index index.html index.htm; server_name services.stefanow.net; location / { try_files $uri $uri/ =404; } location /test-express { proxy_pass http://127.0.0.1:3002; } location /test-http { proxy_pass http://127.0.0.1:3003; } } 使用普通节点: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(3003, […]

Centos 7不能安装npm

我正在试图在centos 7上安装nodejs和npm 所以首先我做了rpm -i http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm来得到epel仓库 然后我尝试了yum install nodejs。 哪些工作。 然后我试着yum安装npm。 百胜返回“npm包未find” 我将不得不手动build立npm吗? 我该怎么做?

厨师bash资源不作为指定的用户执行

我正在写一个厨师菜谱来安装Hubot 。 在配方中,我做了以下几点: bash "install hubot" do user hubot_user group hubot_group cwd install_dir code <<-EOH wget https://github.com/downloads/github/hubot/hubot-#{node['hubot']['version']}.tar.gz && \ tar xzvf hubot-#{node['hubot']['version']}.tar.gz && \ cd hubot && \ npm install EOH end 但是,当我尝试在安装cookbook的服务器上运行chef-client时,我得到拒绝写入运行chef-client(而不是hubot用户)的用户的目录的权限。 出于某种原因, npm试图在错误的用户下运行,而不是在bash资源中指定的用户。 我能够sudo su – hubot -c "npm install /usr/local/hubot/hubot"运行sudo su – hubot -c "npm install /usr/local/hubot/hubot" ,并且获得我想要的结果(安装hubot作为hubot用户)。 但是,似乎chef-client不是以hubot用户的身份执行命令。 下面你会发现厨师 – 客户执行。 […]

如何停止node.js服务器

我通过键入来运行节点服务器 node server.js 从一个腻子terminal,让它运行。 现在我想停止服务器,我应该怎么做? 我试着按键盘上的暂停button。 但它并没有阻止它。

Akward延迟将Apache的代理请求连接到node.js应用程序

在我的Ubuntu服务器10.04中,我正在运行一个Node.js应用程序的例子: var http = require("http"); function onRequest(request, response) { console.log("Request received."); response.writeHead(200, {"Content-Type": "text/html"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(3000); 它只是监听端口3000的请求,login控制台这个请求,并发送到客户端HTTP “Hello World” 目标是使这个应用程序与Apache2共存。 所以经过一些研究,我编辑了默认文件( / etc / apache2 / sites-available / default ): <VirtualHost *:80> ServerAdmin [email protected] ServerName dev.myserver.com <Location /node> ProxyPassReverse http://127.0.0.1:3000/ ProxyPass http://127.0.0.1:3000/ </Location> <Proxy> Allow from all </Proxy> DocumentRoot /home/haj/www/http_home <Directory /> […]

node.js,mongodb,redis,关于ubuntu在生产中的性能下降,RAM是免费的,CPU 100%

正如问题标题所暗示的那样,我很难弄清楚在我的应用程序上可以改进什么(或者在os,ubuntu中进行调优)以获得可接受的性能。 但首先我要解释一下架构: 前端服务器是8核心机器,运行Ubuntu 12.04的8个内存。 该应用程序是完全用JavaScript编写的,运行在node.js v 0.8.22(因为一些模块似乎抱怨新版本的节点)我使用nginx 1.4来代理从端口80和443的httpstream量到8个受pipe理的节点工作人员并开始使用节点群集api。 我使用最新版本的socket.io 0.9.14来处理websocket连接,在这个连接上我只启用了websocket和xhr-polling作为可用的传输。 在这台机器上,我也运行一个Redis实例(2.2) 我将持久性数据(如用户和分数)存储在mongodb(3.6)上的第二台服务器上,并带有4个内存和2个内核。 这个应用程序在几个月前就开始投入使用(直到几个星期前它已经在一个盒子里运行),每天大约有18k个用户在使用它。 除了一个主要问题之外,它一直运行得非常好:性能下降。 随着使用,每个进程使用的CPU的数量增长,直到它统一工作人员(这将不再服务请求)。 我暂时解决了每分钟检查每个工作人员使用的cpu,如果达到98%,重新启动它。 所以这里的问题主要是CPU,而不是RAM。 内存不再是一个问题,因为我已经更新到socket.io 0.9.14(早期版本泄漏内存),所以我怀疑是一个内存泄漏的问题,尤其是因为现在是CPU快速增长(我必须每天重新启动每个工人10-12次!)。 在使用中的RAM也是老生常谈,但是每2-3天使用一次就很慢,奇怪的是即使我彻底重新启动整个应用程序也不会释放。 只有重新启动服务器才会被释放! 这我真的不明白… 我现在已经发现了非常棒的nodefly ,所以我终于可以看到我的生产服务器上发生了什么事情,而且我正在收集数据。 如果有人想看看我可以给你的图表,但基本上我可以看到我有80到200个并发连接! 我期待node.js处理数千个,而不是数百个请求。 另外,httpstream量的平均响应时间在500到1500毫秒之间浮动,我认为这真的是很多。 另外,在这个有1300个在线用户的时刻,这是“ss -s”的输出: Total: 5013 (kernel 5533) TCP: 8047 (estab 4788, closed 3097, orphaned 139, synrecv 0, timewait 3097/0), ports 0 Transport Total IP IPv6 * 5533 – – […]

连接到上游时,nginx:connect()失败(111:连接被拒绝)

我一直在错误日志中看到下面的错误消息,我可以访问所有的资源,但我不确定为什么错误标记。 错误: 连接到上游的客户端:xxxx,服务器:myserver.com,请求:“GET / stories / mine HTTP / 1.1”,上游:“错误13368#0:* 449连接()失败http:// [:: 1]:5000 / stories / mine “,主机:”myserver.com“ 我的Nginxconfiguration 我将连接传递给端口5000上运行的node.js集群。看不到我会错过什么? upstream api { server localhost:5000; } server { listen 80; server_name myserver.com; root /home/user/_api; # Logging error_log /home/user/log/api.error.log notice; location / { proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host […]

主机名与本地主机端口 – OSX

我正在尝试在本地机器上运行多个Node.js Web服务器。 因为我写的代码需要引用一个域名,所以我想保持dev.myHost.com的约定,并指向从节点运行的非端口80服务(技术上我正在运行一个Harp.j s和一个在Sails.js )。 所以dev.hostOne.com应该指向localhost:123 dev.hostTwo.com应该指向localhost:456 这可能吗? 如果是这样,如何。

Node.js不能从Ubuntu的外部IP访问

我相信这是非常不好的,所以原谅我。 我试图在我的Ubuntu 10.04的端口8080上运行一个node.js服务器。 以下是服务器上iptables -L的结果: Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 这是nmap -p 8080的结果(编辑ip地址,因为一切都应该是开放的) nmap 173.203.xxx.xxx -p 8080 -A Starting Nmap 5.00 ( http://nmap.org ) at 2011-05-19 22:52 PDT Interesting ports on xxx (173.203.xxx.xxx): […]

select服务器来运行nodejs的标准是什么?

我将使用什么标准来select运行NodeJS的服务器? 共享主机似乎是一个不起眼的,因为它是如此新。 鉴于它的工作原理 ,我将如何看待生产机器? 假设我最初是有限的(每月不超过5美元到25美元)的预算。