在windows下安装mochiweb

闲来无事要折腾,听说MochiWeb很不错,就准备在本本上实践一下。

网上看了几篇文章:

1.实战Mochiweb.

http://tech.it168.com/jd/2008-01-30/200801301154397.shtml

2.(译)用Mochiweb打造百万级Comet应用,第一二三部分

http://idisc.javaeye.com/blog/267028

http://idisc.javaeye.com/blog/270076

http://idisc.javaeye.com/blog/273074

3.MochiWeb的设计

http://www.javaeye.com/topic/348379

不过呢,这些介绍的都是在linux环境下的安装,在window下自然是行不通的,忙乎了几个小时,其间GOOGLE发挥了很大作用,总算在下班前一秒钟搞定。俗话说好记性不如烂笔头,所以决定发扬流水账精神,把这段MochiWeb坎坷之旅记录下来。 

大致过程参照(1.实战Mochiweb.), 这里仅仅记录注意事项:

0.svn checkout mochiweb 在 e:/__opensource__/mochiweb/;

1.安装msys(为了make, 而且必须是GNU make);

2.msys.bat

   sh:/>cd /e/__opensource__/mochiweb/

   sh:/>make

3.sh:/>escript scripts/new_mochiweb.erl demo

   这里会看到有个错误.  同时发现多了个目录demo.

4.上面3的错误是因为windows系统没有符号链接产生的,(deps目录下应该有个符号链接到mochiweb目录,因为要用到(ebin和src)。解决办法到微软网站下载个junction(请google).

   sh:/>junction ../mochiweb demo/deps/mochiweb_src

5.进入demo目录; 

   sh:/>cd demo

   sh:/>make all

   (如果有堆栈错误请退出msys重进)

6.启动;

   sh:/>./start-dev.sh

   这时候会有错误(init terminating in do_boot),根据错误提示逐步解决:

7.痛苦的过程在于修改start-dev.sh

   1)加入 -s ssl;

   2)加入 -s crypto;

   3)改路径 $PWD/deps/*/ebin -> #PWD/deps/mochiweb-src/ebin

   4)最关键的一步.处理crypto_server的小bug

Code

 

    在erl控制台下,我们可以检验这段代码,会发现L13仍然返回{error,...},原因很简单, 我机器上的目录是这样的

        D:\cean\erlang\lib\crypto-1.5.1.1\priv\windows\lib

    而要求的是

        D:\cean\erlang\lib\crypto-1.5.2.1\priv\lib\win32

    解决办法也很懒惰, 重新建个目录, 把crypto_drv.dll考过去.

8.这时候start-dev.sh的exec erl行成这样:

   exec erl -s ssl -s crypto -pa $PWD/ebin $PWD/deps/mochiweb-src/ebin -boot start_sasl -s reloader -s demo

9.这时候可以心情愉悦的.

   sh:/>./start-dev.sh

   然后看http://localhost:8000/


时间仓促要回家就不检查了,有问题请指正,谢谢. 

P.S.

1.加入分布式参数:

   -sname node1 -setcookie abcdef

2.如果在浏览器中看动起来的结果,就得采用长连接, 在demo_web.erl中修改红色内容(不确定):

   Response = Req:ok({"text/html;charset=utf-8;connection=keep-alive", 

3.生成测试数据:

   (for /L %i in (1, 1, 1000) do @echo http://localhost:8000/test/%i) > mochi-urls.txt


posted @ 2009-03-31 17:45  bengxia  阅读(1481)  评论(0编辑  收藏
无觅相关文章插件,快速提升流量