在Rubymine和Rackup的背景下,我正在与puma斗争。 我创建了一个绑定usig ssl的小应用程序,并从/config/puma.rb或/config/puma/production.rb
获取其参数如果我以 puma或Puma -C /config/puma.rb或puma -E生产
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
不幸的是,用于sinatra应用程序的RubyMine IDE正在使用硬编码的rackup命令来启动服务器,此外还为IP /端口提供了命令行参数,并且该puma并没有真正读取其配置文件。
在控制台中,它始终忽略配置文件:
机架-E生产 Puma以单模式启动... *版本3.12.0(红宝石2.4.5-p335),代号:睡衣中的骆驼 *最小线程数:0,最大线程数:16 *环境:生产 *聆听tcp://0.0.0.0:9292
=>错误的IP,端口和没有SSL!
那么,如何通过触发触发架子的播放按钮来使用Rubymine运行sinatra应用程序? 我需要执行配置文件,因为定义了我的ssl绑定...我需要使用rackup,因为rubymine会强制执行它。我需要红宝石进行调试
最后,我的期望是: 我或rubymine IDE调用rackup,它读取他的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
哈希\ -s puma -O -C =。/ config / pumar.rb
需要“ rubygems”
需要“ ./app”
运行应用
答案 0 :(得分:0)
您可以创建“运行/调试”配置并将参数添加到RubyMine执行的机架配置中(确保将其添加到机架配置中,而不是Ruby中):https://www.jetbrains.com/help/ruby/creating-and-editing-run-debug-configurations.html
只需在参数中添加-C puma.rb
。