mochiweb 源码阅读(一)
2012-07-09 23:51 rhinovirus 阅读(9071) 评论(11) 编辑 收藏 举报博客园的朋友们,这次又有个机会让你们了解Erlang这门不错的语言,赶紧跟随我的步伐吧,抛开你现在拥有的,买本Erlang书,或者下本电子书,开始Erlang的世界吧。这次又是新的征程,让我们来了解mochiweb这个不错的http服务器。
这次的标题修改为源码阅读,而不是源码分析,感觉自己还没到源码分析的那个水平吧,所以称做源码阅读更合适一些。这次我希望自己不再是单纯的看代码,还是那句话,多动手吧,看会了,自己写未必写的出来,所以多尝试写一些实例代码。
好了,回到今天的正题吧,之所以选择 mochiweb,个人感觉是这个项目还是Erlang入门必看的项目吧,许多大牛也推荐新手去看看,所以我还不犹豫的选择了这个项目。我们来具体看下吧。
这里给出官方的下载地址:https://github.com/mochi/mochiweb
介绍如下:MochiWeb is an Erlang library for building lightweight HTTP servers.
MochiWeb是一个构建轻量级HTTP服务器的Erlang类库。
The mailing list for MochiWeb is at http://groups.google.com/group/mochiweb/
上面是邮件列表地址。
首先,我们下载代码:git clone https://github.com/mochi/mochiweb.git
这边插一句,如果大家学Erlang,建议还是到 Linux环境下,这样其实也是能学到不少知识,毕竟现在市面上主流的服务器都是Linux,所以如果你现在还只是会在Window下的这一套,那就来到Linux下学学吧。
好了,下载完代码,我们可以看下官方介绍有这么一段话:
To create a new mochiweb using project:
make app PROJECT=project_name
To create a new mochiweb using project in a specific directory:
make app PROJECT=project_name PREFIX=$HOME/projects/
我们来创建个example:
make app PROJECT=mochiweb_example PREFIX=$HOME/workplace/
如下图:
这里使用的是 rebar 来创建,管理项目,还是比较方便的,之前已经介绍过这个工具了,如果你是第一次见,可以参考下这篇文章:Erlang构建工具,这里使用的是模板支持,代码如下:
./rebar create template=mytemplate
而我们看下Makefile的app命令,如下图:
而 模板文件位置如下,下一次有机会再给大家详细介绍下,关于模板的使用:
接下来,我们编译,运行下 mochiweb_example 这个例子吧,生成的例子提供了个快速启动的脚本文件 start-dev.sh,代码如下:
#!/bin/sh # NOTE: mustache templates need \ because they are not awesome. exec erl -pa ebin edit deps/*/ebin -boot start_sasl \ -sname mochiweb_example_dev \ -s mochiweb_example \ -s reloader
我们可以用终端,快速的跑起例子,打开终端,进入到这个目录,输入:
make,然后输入
sh start-dev.sh,就可以了,如下图:
接下来,我们可以访问浏览器:http://localhost:8080/
运行结果如下图:
好了,这个简单的例子成功的运行起来了。
今天就到这,这一篇我们简单介绍了mochiweb以及如何创建例子,运行;希望大家能够动手把代码下下来,尝试运行,如果你遇到什么问题,欢迎留言,我会尽可能的帮助大家解决问题。
最后,如果这篇文章带给你乐趣,希望你能轻轻动下鼠标,推荐下这篇文章,非常感谢,我在下一篇文章等着你哟。
本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名rhinovirus(包含链接http://www.cnblogs.com/rhinovirus/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系。