反复折腾了几天了,把脑袋都想破了,终于成功安装了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%\temp",并且,在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:\Users\Administrator\AppData\Roaming。一般在执行完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:\software\yaws-1.77,
erlang安装在:D:\software\erl5.6.5,

那么,将D:\software\yaws-1.77里面的内容,拷贝到D:\software\erl5.6.5\lib\yaws-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%\Microsoft\Windows\CurrentVersion "ProgramFilesDir"

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

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

CALL :read_registry_path %v_hkey%\Microsoft\Windows\CurrentVersion "JanProgramFilesDir"

在70行附近:

IF DEFINED HOMEPATH (
    SET HOME="%HOMEDRIVE%%HOMEPATH%\temp"
)

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

SET HOME="E:\ErlangRoot\web"

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

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

 

 

posted on 2008-12-22 03:37  Janpoem  阅读(1867)  评论(3编辑  收藏  举报