mochiweb 源碼閱讀(一)


  博客園的朋友們,這次又有個機會讓你們了解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以及如何創建例子,運行;希望大家能夠動手把代碼下下來,嘗試運行,如果你遇到什么問題,歡迎留言,我會盡可能的幫助大家解決問題。

  最后,如果這篇文章帶給你樂趣,希望你能輕輕動下鼠標,推薦下這篇文章,非常感謝,我在下一篇文章等着你喲。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM