Articles of lighttpd

在具有多个域的相同服务器上托pipePHP和Node.js应用程序

我有一个Linode VPS,目前运行lighttpd来服务我的PHP网站,并在端口80上侦听。 我也运行Node.js,它侦听端口81,并使用websockets和HTTP与客户端进行交互。 有几个不同的域我想指向这个服务器。 理想情况下,我希望托pipePHP站点的域都与同一个lighttpd服务器交谈,而使用node.js的站点会以某种方式redirect到端口节点.js正在监听客户端不知道的情况(例如,没有30xredirect)。 example-php1.com:80 -> linodebox:80 lighttpd /var/www/example1 example-php2.com:80 -> linodebox:80 lighttpd /var/www/example2 example-node.com:80 -> linodebox:81 node.js 有没有办法做到这一点,无论是通过设置DNS条目或调整iptables? lighttpd是否需要成为node.js的代理? websocketsfunction需要在没有任何回退的情况下工作,访问非节点域(例如example-php1.com:81 )不应公开节点应用程序。 我觉得完美的解决scheme不需要改变现有的应用程序代码,也不需要在软件Web服务器之间进行代理,但我可能是错的。

NodeJS 0.10.46不再在lighttpd代理服务之后

今天我已经更新了我的nodejs安装(从官方的CentOS 7回购)。 我曾经通过lighttpd代理服务,没有什么特别的: proxy.server = ( "" => ( "" => ( "host" => "127.0.0.1", "port" => 2368, ) ) ) NodeJS本身工作正常,我有两个应用程序运行良好(如果直接访问),lighttpd还代理第三个应用程序(由Java运行时提供),这是完整的function。 从NodeJS更新到0.10.46(通过yum包pipe理器)开始的问题,在我的configuration上没有改变。 Lighttpd proxy.debug输出: (mod_proxy.c.1158) proxy – start (mod_proxy.c.1199) proxy – ext found (mod_proxy.c.1333) proxy – found a host 127.0.0.1 2368 (mod_proxy.c.417) connect delayed: 11 (mod_proxy.c.1042) proxy: fdevent-out 1 (mod_proxy.c.1065) proxy – connect – […]

如何处理node.js / express中的相对path?

我在node.js中写了一个网站,并表示。 现在我将lighttpdconfiguration为使用具有子目录的node.js服务器: $HTTP["url"] =~ "^/app/" { proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 3000 ) ) ) } 当我打开http://localhost/app/我得到错误404,因为我写了这样的东西: app.get('/', function (req, res){ res.render('index'); }); 有没有更好的方法来修改这些行: var relPath = '/app'; app.get(relPath + '/', function (req, res){ res.render('index'); }); ?

用lighttpdredirect端口80上的websocketstream量

我有一个托pipe在lighttpd上的网站,可以在“www”子域访问。 我也有一个聊天服务器监听端口8124使用node.js和socket.io。 我希望所有的客户端stream量发生在端口80,通过redirect到“聊天”子域的所有请求到端口8124.所以我启用了mod_proxy和lighttpd.conf我补充说: $HTTP["host"] == "chat.myserver.com" { proxy.server = ( "" => (( "host" => "78.128.79.192", "port" => "8124" )) ) } 在客户端,当我连接到websocket时, var socket = io.connect('http://chat.myserver.com'); 我从node.js得到正确的消息: debug – client authorized info – handshake authorized 6067470561567883577 debug – setting request GET /socket.io/1/websocket/6067470561567883577 debug – set heartbeat interval for client 6067470561567883577 debug – client authorized […]

Nodejs反向代理性能

我正在研究使用Node作为反向代理的可能性。 我的项目的主要目标之一是它是非常高的性能。 所以我已经设置了一个节点服务器来代理请求到目标节点服务器,无论请求会以“hello world”响应。 使用Apache Bench我已经对每秒处理的请求数做了一些比较。 代理,目标和调用者分别位于AWS的单独M1大型实例中。 我的结果令人沮丧和困惑。 直接从调用者到目标: ab -c 100 -n 10000 http://target-instance/ =〜2600个请求/秒 从调用者通过代理到目标 ab -c 100 -n 10000 http://proxy-instance/ =〜1100个请求/秒 使用lighttpd,我能够在代理和目标上获得约3500次/秒的请求 我对代理服务器性能不如目标服务器感到失望。 当比较像lighttpd这样的其他产品时,我已经看到代理实现了与目标相当的结果,所以我很困惑Node(应该快速减轻)何时达不到。 这里是我在Node v0.5.9中的代理代码:我错过了什么吗? var server = http.createServer(function(req, res){ var opts = { host: 'target-instance', port: 80, path: '/', method: 'GET'}; var proxyRequest = http.get(opts, function(response){ response.on('data', function(chunk){ res.write(chunk); }); […]

使用mysql池对node.js(cluster)的性能进行基准testing:Lighttpd + PHP?

编辑(2):现在使用db-mysql和generic-pool模块。 错误率大幅下降,徘徊在13%,但吞吐量仍然在100瑞士克/秒左右。 编辑(1):有人build议ORDER BY RAND()会导致MySQL变慢,我已经从查询中删除该子句。 Node.js现在徘徊在100 req / sec左右,但服务器仍报告“连接错误:连接太多”。 Node.js或Lighttpd与PHP? 你可能看到了许多“Hello World”的node.js基准testing,但是“hello world”testing,即使是那些每个请求延迟了2秒的testing,甚至都不能接近现实世界的产品使用情况。 我还使用node.js执行了“Hello World”testing的这些变体,并且看到吞吐量约为800 req / sec,错误率为0.01%。 但是,我决定进行一些比较现实的testing。 也许我的testing没有完成,很可能是node.js或我的testing代码真的是错误的,所以如果你是一个node.js专家,请帮我写一些更好的testing。 我的结果发表如下。 我使用Apache JMeter来进行testing。 testing用例和系统规格 testing非常简单。 用户数量的mysql查询是随机排列的。 第一个用户的用户名被检索和显示。 mysql数据库连接是通过一个unix套接字。 操作系统是FreeBSD 8+。 8GB的RAM。 英特尔至强四核2.x Ghz处理器。 我甚至在我遇到node.js之前调整了Lighttpdconfiguration。 Apache JMeter设置 线程数(用户):5000 我相信这是并发连接数 加速期(以秒为单位):1 循环计数:10 这是每个用户的请求数量 Apache JMeter最终结果 标签| #Samples | 平均| Min | 最大| 标准。 开发。 | 错误%| 吞吐量| […]