`
thomas0988
  • 浏览: 484947 次
  • 性别: Icon_minigender_1
  • 来自: 南阳
社区版块
存档分类
最新评论

成功安装yaws和erlyweb了

 
阅读更多

反复折腾了几天了,把脑袋都想破了,终于成功安装了yaws。这个据说性能比apache高出10多倍的东西,还有erlyweb,据说响应速度是Rails 2.0 47倍的恐怖的家伙。

记录一下安装过程,这个太经典了,一点中文资源都没有,全是E文,还好好的恶补了一下批处理命令的教程。

我是在win server 2008的条件下安装的,erlang的环境是5.6.5。

yaws的官站:http://yaws.hyber.org/

1、首先到:http://yaws.hyber.org/download/下载最新的版本1.77。

2、到:http://yaws.hyber.org/wiki/showPage.yaws?node=YawsAndWin32,下载modified src for yaws 1.77.zip和win32v2.zip,将yaws-1.77解压,并将modified src for yaws 1.77.zip里面的src文件复制进yaws-1.77的src里面覆盖旧的文件,有四个文件:authmod_gssapi.erl、yaws_generated.template、yaws_showarg.erl、yaws_vdir.erl。

3、将win32v2.zip的内容解压,里面有一个install.cmd和script目录,分别放在yaws-1.77的目录下面和yaws-1.77/src的目录下面。注意,在yaws-1.77的目录下本来就有一个script的目录,2008和vista系统会问你是否文件合并,选是。

4、将src目录拷贝多一个副本,并将这个副本的文件夹名字修改为yaws。再把yaws这个目录复制到src目录中。并使用CMD打开命令行窗口进入yaws-1.77的目录下。

5、用编辑器打开yaws-1.77/install.cmd,找到70行左右的,SET HOME="%HOMEDRIVE%%HOMEPATH%My Documents",注意,如果是vista或者是2008的用户,这里要改成别目录,比如我就改成了:SET HOME="%HOMEDRIVE%%HOMEPATH% emp",并且,在cmd下找到echo %HOMEPATH%所在,并在该目录下创建temp目录(2008和vista的My Documents是一个快捷方式。)

6、好,返回刚才命令行的窗口,输入install YAWS,这个过程要好好看着,上下检查有什么文件提示编译不通过,或者丢失了什么文件的地方,一定要仔细检查。

常见的情况是,没有找不到yaws.app,这个文件是根据yaws-1.77/src/yaws.app.src创建而来。

没有yaws.conf文件,这个文件是根据yaws-1.77/src/yaws_generated.template创建而来,他一般的创建目录是系统的%APPDATA%,请echo %APPDATA%检查该目录是否设置正常,如2008,一般是在C:UsersAdministratorAppDataRoaming。一般在执行完install后,APPDATA下回有一个yaws.conf的文件,这是yaws的配置文件,类似apache的httpd.conf。如果没有这个文件,表明你的安装有误,请重新执行install YAWS

检查系统变量,怎么看我就不说了,你可以直接执行以下命令:echo %YAWS_VAR% & echo %YAWS_CONF% & echo %YAWS%,并且依次检查这三个目录是否正常:

YAWS目录是yaws的安装目录

YAWS_CONF就是上面说的yaws.conf

YAWS_VAR是他的网站存放目录,这个目录下,必须有一个ebin和include目录,假如没有examples目录,请从yaws-1.77中拷过来。

最后,请打开yaws.conf文件,检查该目录下的设置是否正确,检查配置的路径是不是存在,在19行左右,请注释掉#ebin_dir = %vardir%/yaws/ebin,如果你的机器没有装httpSSL请将SSL的配置注释掉,并且,在144行左右的<server localhost>这里的配置,将docroot设置为YAWS_VAR下的www目录(要全路径,比如C:...../www,注意和/的区别)。并把一下内容注释点:

#        <auth>
#                realm = foobar
#                dir = /
#                user = foo:bar
#                user = baz:bar
#        </auth>

假如,你的YAWS_VAR下,不存在www目录,你可以将yaws-1.77目录下的www拷贝过去。

7、最后,将YAWS的安装目录里面的文件拷贝到erlang安装目录下的lib目录中,比如我的:

YAWS安装在:D:softwareyaws-1.77,
erlang安装在:D:softwareerl5.6.5,

那么,将D:softwareyaws-1.77里面的内容,拷贝到D:softwareerl5.6.5libyaws-1.77中。

然后你可以选择在命令行的方式,执行yaws -i,或者打开erl的shell,输出yaws:start()。

erlyweb的安装就很简单,官网是:http://erlyweb.org/,这里有篇erlyweb的入门教程,http://yarivsblog.com/articles/2006/10/27/introducing-erlyweb-the-erlang-twist-on-web-framworks/。

erlang是门很有意思的语言,而且本身的历史也十分的悠久,其编程哲学,又迥然与Ruby、Java不同,虚拟机、跨平台,这些一样都不缺,IDE的话,用Emacs也还凑活(下次再说怎么配Emacs的Erlang Mode),关键是他面向并行、面向分布,很多概念都是以前没有细细思考过的,作为语言本身,他又没有很多的限制条件,对于我这种追求返璞归真的人来说,真的是一个不错的选择。

啊,好了,先说到这,要睡觉了。

#===========================================#
# 2008.12.22补充一些细节
#===========================================#

今天在另外一台2008的服务器上安装了yaws,环境是正式的服务器,使用的不是本地的Administrator的帐号,发现一些问题,这里整理一下,供大家参考。

首先大家先在这里下载,这里我已经将安装yaws和modified src for yaws 1.77.zip整合好了,下载地址:http://www.agiers.com/yaws-1.77.7z。什么,7z是什么。。。。。。。无语。

主要的工作在修改yaws-1.77文件夹里面的install.cmd文件。

29行:

CALL :read_registry_path %v_hkey%MicrosoftWindowsCurrentVersion "ProgramFilesDir"

这个是在你的注册表里面找到系统的ProgranFile目录,找到键值:[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion],在这里添加一个字符串值,JanProgramFilesDir,当然具体的key命名,你自己选择了,value设置为你想要的安装路径,如D:Program Files。"JanProgramFilesDir"="D:Program Files"。

然后,将这行的内容改为:

CALL :read_registry_path %v_hkey%MicrosoftWindowsCurrentVersion "JanProgramFilesDir"

在70行附近:

 

IF DEFINED HOMEPATH (
    SET HOME="%HOMEDRIVE%%HOMEPATH% emp"
)

首先,请在CMD界面echo %HOMEPATH%,检查一下这个目录下的temp目录是不是存在,本来是My Documents的,但因为2008没有这个目录,所以改成了temp。当然,大家完全可以改成自己需要的路径,比如:

SET HOME="E:ErlangRootweb"

好,至此复杂的工作基本完成,剩下的就是非常简单的内容了,执行install YAWS。

安装完以后,找到yaws.conf文件,注意按照上文说的去修改相应的命令,并注释没有使用的地方。就可以顺利安装yaws了。

分享到:
评论

相关推荐

    使用Erlang和Yaws开发REST式的服务

    在本文中,我们将探讨如何使用Erlang编程语言和Yaws Web服务器开发RESTful服务。Erlang是一种面向并发和分布式系统的语言,以其高可靠性而著称,而Yaws是由Claes Wikström用Erlang编写的高性能Web服务器,能够处理...

    yaws:Yaws Web服务器

    这是Yaws,是用Erlang编写的动态内容的Web服务器。 准备构建 获取并安装一个Erlang系统( )。 要编译Yaws,需要Erlang / OTP 18.0或更高版本。 如果您已经从github克隆了源代码,并且想使用自动工具进行构建,请...

    yaws-json2:Yaws json2 库

    安装在 rebar.config 中: { yaws_json2 , " .* " , { git , " git://github.com/myua/yaws-json2 " , { tag , " master " }}}用法使用yaws_json2:decode_string/1解码 json。 输入 json 示例: { first_name : ...

    yaws:偏航(还有另一个网络抓取工具)

    yaws(Yet Another Web Scraper)是一种易于使用但功能强大的Node.js Web抓取工具,它支持多种常用的抓取技术,通过使用带有正则表达式的模式,通过导航DOM(JQuery样式)来定义对象。 它是一个进行中的工作,包括...

    yaws-开源

    作为一个基于Erlang编程语言的服务器,Yaws充分利用了Erlang的并发性和容错性,能够在多核系统上有效地分配工作负载,保证了服务的稳定性和可靠性。Erlang的这种特性使得Yaws在处理大量并发连接时表现优异,尤其适合...

    game_manager:游戏后端数据统计平台

    #game_manager(游戏后台统计) ...5.启动yaws,在浏览器中输入 出现内容表示安装成功 6.进入yaws的根目录,根目录下有一个www文件夹,刚刚访问 进入的页面就在www下。 7.清空www的文件,把该项目game_manager/

    Building Web Applications with Erlang.2012.英文

    在Yaws上启动Web服务、服务静态文件(Serving Static Files)、编译、加载和运行代码以及集群化Yaws(Clustering Yaws)是构建Erlang Web应用的关键步骤。 4. 在构建Web应用时,需要考虑系统架构(System ...

    building_web_applications_with_erlang.pdf

    - **编译、加载和运行代码**: 在Web应用中,编译、加载和运行代码是常规操作,Yaws提供了相应的机制来支持这一流程。 - **集群Yaws**: 为了提高Web应用的可用性和负载均衡,Yaws支持集群部署,使多个Yaws实例能够...

    accounter:一个简单的簿记应用程序

    会计-一个简单的簿记应用程序 ... 获取并安装Yaws Web服务器( )。 Mac OS X port install erlang port install yaws Linux apt-get install erlang apt-get install build-deps yaws 视窗 http://www.

    Building Web Applications with Erlang

    在Yaws应用的生命周期中,包括启动Yaws、服务静态文件、编译、加载和运行代码、以及实现Yaws集群的高级功能,都是必须掌握的技术点。 在了解了Erlang及其相关的Web技术之后,我们可以看到,Erlang提供的不仅仅是...

    erlang调用java

    在IT领域,跨语言通信是常见的需求,尤其是在...理解`Jinterface`的工作原理和注意事项,以及如何在`YAWS`中正确集成,对于构建混合语言的系统具有重要意义。在实践中,不断优化和调整,以达到最佳的性能和可维护性。

    otp_win_64_24.0.exe

    5. 应用框架:如Mnesia数据库系统、公共接口服务器(COS)和Web服务器(Yaws或Inets)等,方便开发特定用途的应用。 使用OTP Win64 24.0,开发者可以构建高性能、高并发的系统,同时享受Erlang语言提供的强大并发...

    otp_win64_21.0.zip

    10. **Web开发**: Erlang可以通过 cowboy、YAWS 等框架进行Web开发,构建高性能的HTTP服务器和API。 总的来说,Erlang OTP 21.0的Windows 64位版本是一个强大的工具,适合构建分布式、高并发和容错的系统,尤其在...

    Erlang-game-server开发实践.zip

    Erlang有多种库如 cowboy 和 yaws 支持WebSocket,方便实现双向通信。 ### 8. 性能优化与监控 Erlang VM(BEAM)提供了诸如实时垃圾回收和运行时性能监控等工具。开发者可以通过这些工具优化代码性能,确保游戏...

    erlang websocket 练习

    在IT行业中,Erlang是一种面向并发的编程语言,它被广泛用于构建高可靠性、分布式系统,尤其是在电信和实时计算领域。WebSocket协议则是一种在Web上实现双向通信的协议,它允许服务器和客户端进行持久连接,从而实现...

    《架构师》电子月刊2010年10月刊PDF电子书

    在2010年前后,随着苹果公司“i”系列产品的成功,如iPod、iPhone和iPad的问世,移动开发开始崭露头角,成为IT行业的下一个重要趋势。这些产品不仅改变了消费者对移动设备的认知,也引领了一波移动应用的创新潮,如...

    JavaScript + Delphi + ErLang讲座内容(4)

    erlang + delphi demo with Web UI`可能是通过Web界面展示Erlang和Delphi的集成,这可能使用了Erlang的Web开发框架,如Yaws或Mochiweb,与Delphi后端进行交互。 - `12. erlang demo with hot update`可能展示了...

    erlang中文基础教程

    3. **Web开发**:Erlang框架如YAWS和Chicago Boss为构建高性能Web应用提供了可能。 **学习资源与进阶** - 《Erlang编程》一书是学习Erlang的入门经典,适合初学者阅读。 - OTP(Open Telecom Platform)是Erlang的...

    Erlang-or-java.rar_erlang

    Erlang可以使用 cowboy 或 yaws 等库提供WebSocket服务,Java则有Jetty或Spring框架等支持WebSocket。 4. **Socket通信**:更底层的通信方式是通过TCP或UDP套接字直接建立连接。Erlang的gen_tcp模块和Java的Socket...

Global site tag (gtag.js) - Google Analytics