Yaws的具体介绍可以参见 http://yaws.hyber.org 。
Yaws的原理其实就是erlang环境下的module,如果你从上面的官网上下载了安装文件进行安装的话,就会发现,这个安装包其实就是把Yaws的源码和编译完成的beam文件打包放到安装目录下,当然还有其它配套的文件包括示例代码。
既然如此,我们允许Yaws的时候完全可以把beam文件放到自己想放置的任意目录,然后启动erl,使用 yaws:start()命令启动yaws。
但是我不幸遇到了一些问题,现在我知道问题出在什么地方,并且采用我自己的方式使得yaws运行起来了。
首先遇到的问题是启动时 提示 Can't find config file ,也就是找不到config文件,其实就是安装是就生成的yaws.conf文件,google了好长时间无结果(网上的很多是一整套的安装方式,很麻烦,而且和我的情况不一样),实在没有办法了,看源码吧,然后在 yaws_config 文件中发现是
application:get_env(yaws, config). 这行代码一直返回
undefined
,然后就导致yaws启动过程中寻找config文件的函数一直失败。
具体这个函数为什么会失败我也不关心了,因为这只是一个配置的问题。我的解决办法就是在 yaws_config 文件中将 paths() 进行更改,直接返回特定目录,比如可以改成 paths() -> ["c:/Yaws/yaws.conf"].
然后将yaws_config 文件重新编译,替换原来的beam文件,之后启动就可以了。
如果还能碰到如下的问题:
那么只要更改yaws.conf文件就可以了,把其中的目录改成要存放的目录。