使用不同端口上的牛仔服务器启动 Phoenix 应用程序
Start Phoenix app with cowboy server on different port
是否可以使用 mix phoenix.server --port=4001
等命令从控制台在不同端口上本地启动一些 Phoenix 应用程序?这个当然不行,但是,也许有类似的方法。
是的!确保将混合配置设置为引用 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
我需要这个作为解决方案,因为我的问题是我需要让 C9.io 指定端口,对我来说,将此代码添加到 dev.exs
文件解决了问题:
config :my_app, MyApp.Endpoint,
http: [port: {:system, "PORT"}],
然后在终端中,我只需要正常 运行 服务器:
mix phoenix.server
编辑您的 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
@chris-mccord on github描述了这个答案。
是否可以使用 mix phoenix.server --port=4001
等命令从控制台在不同端口上本地启动一些 Phoenix 应用程序?这个当然不行,但是,也许有类似的方法。
是的!确保将混合配置设置为引用 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
我需要这个作为解决方案,因为我的问题是我需要让 C9.io 指定端口,对我来说,将此代码添加到 dev.exs
文件解决了问题:
config :my_app, MyApp.Endpoint,
http: [port: {:system, "PORT"}],
然后在终端中,我只需要正常 运行 服务器:
mix phoenix.server
编辑您的 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
@chris-mccord on github描述了这个答案。