31

是否可以使用某些命令从控制台在不同端口上本地启动几个 Phoenix 应用程序mix phoenix.server --port=4001?当然,这不起作用,但是,也许有类似的方法。

4

3 回答 3

46

是的!确保将混合配置设置为引用 env 端口,即

config :my_app, MyApp.Endpoint,
  http: [port: {:system, "PORT"}],

然后从终端:

$ PORT=4001 mix phoenix.server
$ PORT=4002 mix phoenix.server
$ PORT=4003 mix phoenix.server
于 2015-05-30T04:29:55.457 回答
40

编辑config/dev.exs并更改端点 http 端口,如下所示:

config :my_app, MyApp.Endpoint,
  http: [port: System.get_env("PORT") || 4000],

这允许设置端口,或保留为默认端口4000

PORT=4002 mix phoenix.server # to run on port 4002
mix phoenix.server # to run on port 4000

这个答案由github 上的@chris-mccord 描述。

于 2016-06-19T22:59:49.270 回答
2

这对我来说是一个解决方案,因为我的问题是我需要让C9.io决定端口,对我来说,将此代码添加到dev.exs文件中解决了问题:

config :my_app, MyApp.Endpoint,
  http: [port: {:system, "PORT"}],

然后在终端中,我只需要正常运行服务器:

mix phoenix.server
于 2016-04-01T15:03:58.930 回答