Articles of node.js

后缀转发传入邮件mailin

我已经在端口25上运行的mail.example.com服务器上使用postfix和dovecot来设置smtp服务器。然后我还使用mail.example.com上的mailin ( http://mailin.io )设置了另一个smtp服务器服务器,但在端口10025上运行。 这mailin的目的是简单地parsing从postfix接收到的电子邮件,并通过webhooksparsing结果作为json。 由于后缀没有apiparsing邮件内容,所以这就是为什么我使用mailin。 在我的/etc/postfix/main.cf我添加这一行: relay_domains = localhost:10025 ## this is the mailin smtp server running on port 10025 我的maillog: [root@mailserver ~]# tail -f /var/log/maillog Dec 17 04:36:07 mailserver postfix/smtpd[6858]: connect from localhost[127.0.0.1] Dec 17 04:36:07 mailserver postfix/smtpd[6858]: 6E2C21848: client=localhost[127.0.0.1] Dec 17 04:36:07 mailserver postfix/cleanup[6868]: 6E2C21848: message-id=<[email protected]> Dec 17 04:36:07 mailserver postfix/qmgr[6386]: 6E2C21848: […]

多个node.js应用程序在同一台服务器上

我有nginx主机由jekyll生成的静态网站的实例。 我在端口4000上添加了一个nodejs应用程序,并根据DigitalOcean上的本教程进行操作 server { listen 80; root /usr/share/nginx/html/example.com; index index.html index.htm; server_name example.com; charset utf-8; location /nodeapp/ { proxy_pass http://localhost:4000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } 应用程序加载,但所有的静态资源得到404,因为它例如查找example.com/nodeapp/css/main.css资源。 我将如何解决这个问题?

Node.js应用程序在300多人的同时死亡

我有一个Node.js应用程序运行在数字海洋平均液滴上。 当超过300人同时访问它只是挂起。 起初我注意到它一次打开了1000个文件。 我已经将一堆静态图像移到Amazon S3来帮助解决这个问题,并且在ulimit中加了一个限制(临时修复来阻止服务器完全死亡)。 我联系了Digital Ocean,他们说服务器应该能够处理stream量。 只是想知道我应该采取什么步骤来弄清楚为什么会发生这种情况。 有些事情我可能做错了: 我仍然在服务于节点服务器的一些静态文件。 我打算把这个降到最低。 我没有一个反向代理设置(nginx,haproxy等)。 数据库与node.js应用程序在同一台服务器上运行。 如果您要我提供任何其他信息,请询问。 我很乐意这样做。

在同一个Nginx服务器上运行PHP和Node.js

是否可以在同一个Nginx服务器和VPS上运行PHP和Node.js? 我已经设法使nginx作为node.js的反向代理,但我的问题是如何与PHP一起运行它? 我希望node.mydomain.com在子域上运行,让我说node.mydomain.com而我的PHP应用程序运行在mydomain.com 。

Nodejs:服务器不closuresTCP连接

在生产服务器上运行debian(7.0)和nodejs(v0.10.x)集群的问题,在那里它不closures到客户端的TCP连接。 当达到连接限制时,会导致连接丢失。 使用ss -s工具,我可以监控一些连接在一段时间后closures,但有些则不是。 这里是我使用为了增加最大连接作为临时解决方法的sysctrlconfiguration更改: net.ipv4.ip_local_port_range = 1024 65500 net.core.rmem_max = 33554432 net.core.wmem_max = 33554432 net.ipv4.tcp_rmem = 4096 16384 33554432 net.ipv4.tcp_wmem = 4096 16384 33554432 net.ipv4.tcp_mem = 786432 1048576 26777216 net.core.netdev_max_backlog = 2000 如何find瓶颈并解决问题?

“npm ls”的输出错误

我该如何解决这个难看的输出“npm ls”? Debian Wheezy / node v0.10.36 / npm 2.4.1 更新: «*» – 是一个丑陋的字符,我不能在这里重现: [email protected] /var/www/helloworld *** [email protected] *** [email protected] ***** [email protected] ***** [email protected] ****** [email protected]

node.js,socket.io只能在localhost上工作,不能从内网访问

我正在使用node.js和socket.io实时通知系统。 我用简单的聊天代码testing了node.js和socket.io,它与localhost相当不错,但不能从另一个在同一networking本地连接的系统访问。 我的服务器和客户端代码如下所示: server.js var express = require('express') , app = express() , http = require('http') , server = http.createServer(app) , io = require('socket.io').listen(server); server.listen(8888); 和客户端html index.html <script src="http://localhost:8888/socket.io/socket.io.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> <script> var socket = io.connect('http://localhost:8888'); </script> 它正在我的浏览器与这个url http://localhost/schat/index.html工作,但不工作时,我试图从另一个系统连接使用我的IP 192.171.56.23/schat/index.html 。 但所有其他的HTML文件工作正常,下面是我的netstat输出: [root@localhost schat]# netstat -pan | grep 8888 tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN […]

不可动摇的新贵stream程

所以我编写了一个基于本文脚本的看似基本的node.js服务器新贵脚本,它启动服务器并运行在预期的端口上。 当我试图杀死它时,问题就来了。 我已经尝试了一些命令,如stop socketserver和initctl stop socketserver (function相同)或kill ,他们都做了两件事:成功结束进程,然后在不同的PID下启动它。 我所要的只是当我告诉它时这个过程结束,但当它不是一个有效的退出代码时重新生成; 我做错了什么? description "node.js Socket Server" author "moberemk" start on started stop on shutdown # Automatically Respawn respawn respawn limit 10 5 script # Not sure why $HOME is needed, but we found that it is: export HOME="/root" export SOCKETSERVER_PORT=5000 exec sudo -u root /usr/bin/nodejs /vagrant/webroot/socketserver/app.js end […]

使用GCC v4.9.2编译节点

我似乎无法在CentOS 6.6(64位)GCC v4.9.2上编译Node.js $ ./configure Node.js configure error: No acceptable C compiler found! Please make sure you have a C compiler installed on your system and/or consider adjusting the CC environment variable if you installed it in a non-standard prefix. 更多细节: $ which gcc /usr/bin/gcc $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper Target: x86_64-unknown-linux-gnu […]

什么是通过反向代理设置https节点服务器而不使用Apache或Nginx的最佳实践

我正试图获得通过节点代理访问的节点https服务器。 我买了证书,并有一个独立的https服务器工作正常。 最初由于多个证书在一个文件中有一些打嗝,但是这个post有助于: http://stackoverflow.com/questions/16224064/running-ssl-node-js-server-with-godaddy-gd-bundle-crt. 早些时候,我已经通过一个基于节点的反向代理nodejitsu的http代理模块的所有连接,它有效地代理http – > http。 现在,正如所料,在将目标服务器更改为https后,代理不起作用,因为它基本上是: client -> http-proxy(public IP) -> https connection(local IP) 这实际上是https中寻求消除的中间人情况。 另外,我从https服务器得到以下错误: Error: Hostname/IP doesn't match certificate's altnames 证书是正确的,因为HTTPS没有在中间代理正常工作。 从阅读一些post,我意识到以下应该工作: client -> https-proxy (Public IP) -> http connection (local IP) 实际的本地服务器在哪里运行http和公共https。 这是基于http-proxy文档中的解释: https://github.com/nodejitsu/node-http-proxy 在这篇文章中: https://nadeesha.silvrback.com/creating-a-https-proxy-in-node-js 在http代理模块文档中,似乎有一个客户端的解释 – > https(代理公共IP) – > https(代理本地IP)。 如果是这样,我需要在目标https服务器上设置哪些证书? 在尝试这些可能性之前,我想知道: 什么是处理这个需求的标准最佳实践,以及如何在节点下实现它。 我不想介绍Nginx或Apache只是为了处理这个。 我完全偏离这里吗?