【问题标题】:Running Yaws Apps运行 Yaws 应用程序
【发布时间】:2011-07-15 14:36:18
【问题描述】:

我对 erlang 和 yaws 很陌生。在玩弄了语言和简单的 yaws 功能(如 ehtml 和普通 appmods)之后,我尝试编写一个 yapp。我跟着http://yaws.hyber.org/yapp_intro.yaws 和https://github.com/davide/yawn/wiki 让它或多或少地运行起来。它只是由一个 .app 文件和一个只有 out/1 的简单 test.erl/beam 组成。 Yaws 启动没有问题并加载 yapp。当我在交互模式下运行 yaws 并调用 test:out(somehting) 时,它工作正常。当我浏览 url(使用浏览器或 curl)时,我得到一个

=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>

谢谢

【问题讨论】:

    标签: erlang yaws


    【解决方案1】:

    如果您仔细按照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 的说明。

    【讨论】:

    • 在邮件列表中询问后,我已经设法让事情正常进行。不过还是谢谢你。 :)。
    • @Viehzeug 您可以在另一个答案中告诉我们问题出在哪里以及您是如何解决的,因此它可以作为未来的参考。
    猜你喜欢
    • 2014-07-28
    • 2013-08-19
    • 2016-01-13
    • 2011-04-23
    • 2015-03-06
    • 2011-12-09
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多