Erlang Cowboy在一台机器上使用不同的端口运行两个web服务器

Erlang Cowboy在一台机器上使用不同的端口运行两个web服务器,erlang,port,cowboy,Erlang,Port,Cowboy,新手到二郎和牛仔。我正在使用一些开源代码,它使用cowboy并侦听端口8080以提供ng管理服务 我想知道cowboy是否也可以监听端口80以提供用户界面 如果您有任何关于从何处开始或任何代码片段的帮助和建议,我们将不胜感激 非常感谢, MPC我对这个问题的理解是,是否可以在同一个erlang VM中启动两个cowboy服务器。两台服务器侦听两个不同的端口。是的,你能做到。基本上,当您调用cowboy:start\u clear时,您编译自己的路由并绑定到8080和80端口 问题是这种做法是否合

新手到二郎和牛仔。我正在使用一些开源代码,它使用cowboy并侦听端口8080以提供ng管理服务

我想知道cowboy是否也可以监听端口80以提供用户界面

如果您有任何关于从何处开始或任何代码片段的帮助和建议,我们将不胜感激

非常感谢,


MPC

我对这个问题的理解是,是否可以在同一个erlang VM中启动两个cowboy服务器。两台服务器侦听两个不同的端口。是的,你能做到。基本上,当您调用cowboy:start\u clear时,您编译自己的路由并绑定到8080和80端口


问题是这种做法是否合理。我建议您是否可以使用路由来分隔两个应用程序,而不是在端口级别/单个web服务器上。

我对这个问题的理解是,您是否可以在同一个erlang VM中启动两个cowboy服务器。两台服务器侦听两个不同的端口。是的,你能做到。基本上,当您调用cowboy:start\u clear时,您编译自己的路由并绑定到8080和80端口


问题是这种做法是否合理。我建议您使用路由来分隔两个应用程序,而不是在端口级别/单个web服务器上。

根据我对您问题的理解,您希望有两个服务器在不同的端口上运行。您可以使用不同的端口和相同或不同的路线调用两次
cowboy:start_clear/3
。这当然是可行的,但如上所述,如果使用相同的协议(本例中为http),则更建议使用命名空间路由来分离应用程序(如
/foo/123
/admin/foo/123
),而不是使用不同的端口。如果您仍然需要这两台服务器,它将类似于:

    NormalRoutes = cowboy_router:compile(...),
    AdminRoutes = cowboy_router:compile(...),
    {ok, _} = cowboy:start_clear(http, [{port, 80}], #{
      env => #{dispatch => NormalRoutes}
    }),
    {ok, _} = cowboy:start_clear(http, [{port, 8080}], #{
      env => #{dispatch => AdminRoutes}
    }).

根据我对你问题的理解,你希望有两台服务器在不同的端口上运行。您可以使用不同的端口和相同或不同的路线调用两次
cowboy:start_clear/3
。这当然是可行的,但如上所述,如果使用相同的协议(本例中为http),则更建议使用命名空间路由来分离应用程序(如
/foo/123
/admin/foo/123
),而不是使用不同的端口。如果您仍然需要这两台服务器,它将类似于:

    NormalRoutes = cowboy_router:compile(...),
    AdminRoutes = cowboy_router:compile(...),
    {ok, _} = cowboy:start_clear(http, [{port, 80}], #{
      env => #{dispatch => NormalRoutes}
    }),
    {ok, _} = cowboy:start_clear(http, [{port, 8080}], #{
      env => #{dispatch => AdminRoutes}
    }).

您没有提供足够的信息来帮助重现您的问题。也许您可以包含所指的“开放源代码”片段或cowboy的处理程序,或者显示开始侦听连接的erlang代码。你看过文件了吗?我没有问题。我的问题更多的是关于让cowboy服务器有两个不同端口80和8080的最佳方式,这两个端口有两个不同的接口。请原谅,我的术语可能有误,因为这对我来说是全新的。谢谢你的评论。你没有提供足够的信息来帮助重现你的问题。也许您可以包含所指的“开放源代码”片段或cowboy的处理程序,或者显示开始侦听连接的erlang代码。你看过文件了吗?我没有问题。我的问题更多的是关于让cowboy服务器有两个不同端口80和8080的最佳方式,这两个端口有两个不同的接口。请原谅,我的术语可能有误,因为这对我来说是全新的。谢谢你的评论。谢谢。我正试图保持两个接口分开,这样管理员仍然保持在端口8080上,就像原始开源一样,但是端口80上有一个新的用户界面层。我自己也不确定这是否有道理。谢谢你的回答。我正试图保持两个接口分开,这样管理员仍然保持在端口8080上,就像原始开源一样,但是端口80上有一个新的用户界面层。我自己也不确定这是否有道理。谢谢你的回答,谢谢你的回复。你的答案很好。谢谢。没问题,很高兴它帮了你:)谢谢你的回复。你的答案很好。谢谢。没问题,很高兴它帮了你:)