Несколько одновременных серверов рельсов с привязкой - PullRequest
0 голосов
/ 15 октября 2018

У меня есть сервер промежуточных рельсов, доступный для моей локальной сети следующим образом:

rails server --binding=0.0.0.0 -p 3000

Теперь я хотел бы открыть второй параллельный сервер рельсов для своей локальной сети следующим образом:

rails server --binding=0.0.0.0 -p 3001

К сожалению, я получаю это сообщение об ошибке:

...
=> Booting Puma
=> Rails 5.1.1 application starting in development on http://0.0.0.0:3001
=> Run `rails server -h` for more startup options
A server is already running. ...

Ошибка существует, только если я использую --binding=0.0.0.0 на обоих серверах, что необходимо, если я хочу, чтобы она была доступна для моей локальной сети.

Как я могу открыть несколько серверов rails на одном компьютере для локальной сети, а не только localhost?

РЕДАКТИРОВАТЬ:

После попытки решения Vasfed, например,

rails server --binding=0.0.0.0 -p 3000 --pid=tmp/pids/server0.pid
rails server --binding=0.0.0.0 -p 3001 --pid=tmp/pids/server1.pid

проблема сохраняется, но на этот раз у меня есть больше информации.Кажется, это связано с открытием порта 9292 ...

=> Booting Puma
=> Rails 5.1.1 application starting in development on http://0.0.0.0:3001
=> Run `rails server -h` for more startup options
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 3.9.1 (ruby 2.4.1-p111), codename: Private Caller
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://0.0.0.0:9292
Exiting
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/binder.rb:269:in `initialize': Only one usage of each socket address (protocol/network address/port) is normally permitted. - bind(2) for "0.0.0.0" port 9292 (Errno::EADDRINUSE)

1 Ответ

0 голосов
/ 15 октября 2018

Rails проверяет наличие файла pid.Чтобы запустить две копии одного приложения, вы также должны изменить pids:

rails server --binding=0.0.0.0 -p 3000 --pid=tmp/pids/server1.pid
rails server --binding=0.0.0.0 -p 3001 --pid=tmp/pids/server2.pid
...