Можно ли запустить локально несколько приложений Phoenix на разных портах с консоли, используя некоторую команду, например mix phoenix.server --port=4001
? Конечно, это не работает, но, может быть, есть аналогичный способ.
Запустите приложение Phoenix с ковбойским сервером на другом порту
Ответ 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