运行Yaws应用程序

时间:2011-03-15 08:16:56

标签: erlang yaws

我对二郎和雅司病很陌生。我玩完了语言和轻松的yaws功能,如ehtml和普通的appmods,我试着写一个yapp。我按照http://yaws.hyber.org/yapp_intro.yawshttps://github.com/davide/yawn/wiki来运行或多或少。它只包含一个.app文件和一个只有out / 1的简单test.erl / beam。 雅司开始没有问题并加载yapp。当我在交互模式下运行雅司并调用test:out(somehting)时,它工作正常。当我浏览网址(浏览器或卷曲)时,我得到了一个

=ERROR REPORT==== Date ===
Yaws process died:...

并且没有任何内容返回给客户端。我一直在尝试一些事情,但我还没有找到问题。

我认为问题出在我的.app文件中... 我希望你能帮助我。我在下面添加了.app和我的localhost-ssl.conf的内容。

marc@server:~$ cat /usr/lib/yaws/lib/api/ebin/api.app 
{application, api,
 [{description,"cloudia api as yapp"},
  {vsn,"0.1"},
  {modules,[]},
  {registered, []},
  {env, [
         {yapp_appmods,[{"/",test}]},
        ]}]}.


marc@server:~$ sudo cat /etc/yaws/conf.d/localhost-ssl.conf
<server localhost>
    port = 443
    listen = 0.0.0.0
    docroot = /usr/share/yaws
    arg_rewrite_mod = api
    #dir_listings = true
    <ssl>  
        keyfile = /etc/yaws/yaws-key.pem
        certfile = /etc/yaws/yaws-cert.pem
    </ssl>   
    <opaque>
    yapp_server_id = edo
    </opaque>
</server>

由于

1 个答案:

答案 0 :(得分:4)

如果你仔细遵循yapp instructions provided at the Yaws website,一切都应该正常工作。一定要记得:

  • 将全局runmod配置变量设置为yapp
  • 将您的服务器配置arg_rewrite_mod设置为yapp
  • 在您的服务器配置opaque阻止中,将bootstrap_yapps设置为yapp

为了避免为yapp创建mnesia数据库,您可以尝试在服务器配置中将yapp设置为额外的bootstrap_yapp,或者只使用yapp_ets_server模块。您可以在top of its source file找到有关使用yapp_ets_server的说明。