2011-03-15 80 views
4

我对erlang和yaws很新颖。我玩过语言和简单的雅典功能,如ehtml和普通的appmods后,我试图写一个yapp。我跟着http://yaws.hyber.org/yapp_intro.yawshttps://github.com/davide/yawn/wiki或多或少地运行。它只包含一个.app文件和一个简单的test.erl/beam,它只有一个out/1。 Yaws启动时没有问题并加载yapp。当我在交互模式下运行雅思并呼叫测试时:out(somehting)它工作正常。当我浏览网址时(浏览器或卷曲),我得到一个运行Yaws应用程序

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

并没有任何返回到客户端。我一直在尝试解决一些问题,但我还没有发现问题。

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

[email protected]:~$ 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}]}, 
     ]}]}. 


[email protected]:~$ 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> 

感谢

回答

4

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

  • 设置全局runmod配置变量yapp
  • 设置你的服务器配置arg_rewrite_modyapp
  • 服务器配置opaque块内,设置bootstrap_yappsyapp

为了避免为你的yapp创建一个mnesia数据库,你可以尝试设置你的yapp作为附加bootstrap_yapp,或者仅使用yapp_ets_server模块。您可以在top of its source file找到使用yapp_ets_server的说明。

+0

在邮件列表中询问后,我已经设法让事情能够正常工作。不过谢谢你。 :)。 – Viehzeug 2011-04-18 05:06:54

+2

@Viehzeug你可以告诉我们什么是问题,你是如何在另一个答案中解决它的,所以它可以作为未来的参考。 – fortran 2011-11-03 09:33:57