Puma + Rackup + Sinatra: файл конфигурации игнорируется при использовании rackup - PullRequest
0 голосов
/ 25 октября 2018

Я борюсь с пумой в контексте Rubymine и Rackup.Я создал небольшое приложение, которое связывает usig ssl и получает его параметр из /config/puma.rb или /config/puma/production.rb

, которое отлично работает, если я запускаю его с puma или Puma -C /config / puma.rb или puma -E production

puma starting in single mode...
* Version 3.12.0 (ruby 2.4.5-p335), codename: Llamas in Pajamas
* Min threads: 0, max threads: 16
* Environment: development
* Listening on ssl://127.0.0.1:9001?cert=./keys/s3l.cer&key=./keys/s3l.key&verify_mode=peer&ca=./keys/sso_ca.crt
Use Ctrl-C to stop

К сожалению, в среде RubyMine IDE для приложений sinatra для запуска сервера используется жестко запрограммированная команда монтажа, кроме того, предоставляются параметры командной строки для IP./ Порт и с этой пумой на самом деле не читает свой конфигурационный файл.

В консоли он последовательно игнорирует конфигурационный файл:

rackup -E производство Puma запускается в одиночном режиме ...* Версия 3.12.0 (ruby 2.4.5-p335), кодовое имя: Llamas in Pyjamas * Минимальные потоки: 0, максимальные потоки: 16 * Среда: производство * Прослушивание tcp: //0.0.0.0: 9292

=> неправильный ip, порт и нет ssl!

  • Я пытался с этим и без среды => не читал привязку ssl
  • Я пытался переслать -Параметр C с -OC = [путь] в config.ru для пумы связии => не читал
  • Я пытался избежать всего этого и сделать это в sinatra, но это слишком поздно в «загрузке»

Так как запустить приложение sinatra сРубин, нажав кнопку воспроизведения, которая запускает рэкап?Мне нужно выполнить файл конфигурации, потому что моя привязка ssl определена ... Мне нужно использовать rackup, потому что rubymine форсирует его.Мне нужен rubymine для отладки

В конце концов все мои ожидания были бы такими: я или стойка вызова IDE rubymine, читает его config.ru, вызывает puma, а puma ищет свой конфигурационный файл в зависимости от -E Но puma не ищет свой файл

pumar.rb

   cert= "./keys/s3l.cer"
   key = "./keys/s3l.key"
   ca=  "./keys/sso_ca.crt"
   verify_mode= "peer"
bind "ssl://127.0.0.1:9001?cert=#{cert}&key=#{key}&verify_mode=#{verify_mode}&ca=#{ca}"

config.ru

hash \-s puma -O -C =. / config / pumar.rb

require 'rubygems'

require './app'

запустить приложение

1 Ответ

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

Вы можете создать конфигурацию Run / Debug и добавить параметры в конфигурацию стойки, которую выполняет RubyMine (обязательно добавьте ее в конфигурацию стойки, а не Ruby): https://www.jetbrains.com/help/ruby/creating-and-editing-run-debug-configurations.html

Просто добавьте -C puma.rb впараметры.

...