IIS 运行 Nodejs — 我大脑正常着呢!
发布于 3年前 作者 be5invis 5756 次浏览

今天本来很突发奇想的查有没有在 node 上面做游戏的库,结果后来就走神到查如何用 node 勾搭 IIS 去了。可我没想到还真有人把它们给撮合了起来 —— http://github.com/tjanczuk/iisnode。iisnode。

看了些介绍,下面是一个很简单的安装过程:


  • 首先,从官网下 node.exe,放进 C:\node\ 目录。(个人尝试:你也可以用 mklink 做个链接,放别的地方)

  • 设置好 NODE_PATH 变量

  • 确保 IIS 为 7.0,并且安装了 URL 重写

  • 下载 iisnode,放进一个文件夹(我是放在 C:\inetpub\iisnode)。确保 Users 组可以读写此文件夹

  • 以管理员权限运行一个 cmd,cd 进刚才那里,运行 install.bat。完成。打开 http://localhost/node 看看效果吧。


现在你应该就可以直接在 IIS 里面添加处理程序映射(Web.config: <handlers>)了。(方法:把某个 .js 文件关联到 iisnode 模块。)iisnode 的官方例子还是比较完备的,从 helloworld 到使用 express 的小站点都有。各位可以自行围观。

下面附上官网里 express 小站的 web.config,很简单不是吗?
<configuration>

<system.webServer>



<handlers>
<add name="iisnode" path="hello.js" verb="*" modules="iisnode" />
</handlers>



<rewrite>
<rules>
<rule name="hello">
<match url="hello/*" />
<action type="Rewrite" url="hello.js" />
</rule>
</rules>
</rewrite>



<security>
<requestFiltering>
<hiddenSegments>
<add segment="node_modules" />
</hiddenSegments>
</requestFiltering>
</security>


</system.webServer>
</configuration>

小站本身的源码也很简单,只是把原来监听的 80 端口改成
process.env.PORT

var express = require(‘express’);


var app = express.createServer();

app.get('/node/express/hello/foo’, function (req, res) {
res.send('Hello from foo! [express sample]');
});

app.get('/node/express/hello/bar’, function (req, res) {
res.send('Hello from bar! [express sample]');
});

app.listen(process.env.PORT);

4 回复

还有是以IIS5,6的

最主要的问题是,我想跑IIS我就想用SQLServer

Node 上面曾经出现过一个 node-tds 的数据库驱动,但是作者给坑掉了 - -

Node 上面曾经出现过一个 node-tds 的数据库驱动,但是作者给坑掉了 – -


-.-!!那个node-tds 试过,貌似还真用不了.

回到顶部