Подтвердить что ты не робот

Запустите приложение Phoenix с ковбойским сервером на другом порту

Можно ли запустить локально несколько приложений Phoenix на разных портах с консоли, используя некоторую команду, например mix phoenix.server --port=4001? Конечно, это не работает, но, может быть, есть аналогичный способ.

4b9b3361

Ответ 1

Оп! Убедитесь, что вы установили конфигурацию mix для ссылки на порт 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

Ответ 2

Измените свой 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 на github.

Ответ 3

Это было необходимо для меня в качестве решения, поскольку моя проблема заключалась в том, что мне нужно было C9.io диктовать порт для меня, добавив этот код в файл dev.exs, решил проблему:

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

а затем в терминале мне просто нужно было запустить сервер как обычно:

mix phoenix.server