2010-03-29 10 views
1

我有一个模块,我试图变成一个适当的OTP应用程序。目前,模块的启动/ 0启动一个genserver,它提供从配置文件中读取的配置数据。然后它调用inets:start(httpd,config:lookup(httpd_conf))。我收集到,我需要将这些开始移动到.app文件的(应用程序列表),但我不知道如何将我的配置数据放入inets:start函数(或通过httpd)?启动inets/httpd与自定义应用程序

感谢, --tim

+0

我*思维*我的问题可能会参照本[简化1]文档,然后问这个问题:“erlang节点应用程序配置文件”究竟是什么,它取得了什么名称,应该在哪里引用,以及它到底在哪里? – Tim 2010-03-29 15:02:52

+0

指向文档的链接不会显示在您的评论中。请编辑。 – 2010-03-29 15:41:48

+0

对不起,这里是: http://www1.erlang.org/doc/apps/inets/http_server.html#id2252622 我已经取得了一些进展。我认为,如果我创建一个文件inets.config,然后当我启动时,通过-config inets.config引用它,它使用它。现在,我在proplists文件中遇到问题(弄清楚究竟应该进入哪个文件),应该从那个文件中引用它。谢谢... – Tim 2010-03-29 15:46:03

回答

1

这就是我已经想通了......

首先,我需要创建inets配置文件:

inets.config: 
     [{inets, [{services, [{httpd, [{proplist_file, 
      "8080.conf"}]}, 
    ]. 

然后,创建httpd conf文件:

8080.conf 
[ 
{modules, [ 
mod_alias, 
mod_auth, 
mod_esi, 
mod_actions, 
mod_cgi, 
mod_dir, 
mod_get, 
mod_head, 
mod_log, 
mod_disk_log 
]}, 
{port,8080}, 
{server_name,"hello_world"}, 
{server_root,"log"}, 
{document_root,"www"}, 
{erl_script_alias, {"/erl", [hello_world]}}, 
{error_log, "error.log"}, 
{security_log, "security.log"}, 
{transfer_log, "transfer.log"}, 
{mime_types,[ 
{"html","text/html"}, 
{"css","text/css"}, 
{"js","application/x-javascript"} 
]} 
] 

现在,当启动我的应用程序时,我只是引用我与nets.conf文件:

$ erl -boot start_sasl -pa ebin -config inets.config 

这似乎是工作不知道这是否是“正确”的方式或不...

+0

我终于找到了一个服务器配置语法的例子!但即使当我删除顶部的文件名时,语法也不适用于我。以下是我的工作原理:https://stackoverflow.com/questions/48991314/inets-httpd-server-configuration-file-syntax/48998263#48998263 – 7stud 2018-02-26 22:42:00

相关问题