在Rubymine和Rackup的背景下,我正在和美洲狮做斗争。我创建了一个小型应用程序,它绑定usig ssl,并从/config/puma.rb或/config/puma/production.rb获取其参数。
如果我用美洲狮或美洲狮-C /config/puma.rb或puma -E产品启动它,那就很好了。
美洲狮从单模开始..。*版本3.12.0 (ruby2.4.5-p335),代码:睡衣中的美洲驼* Min线程: 0,最大线程: 16 *环境:开发*侦听ssl://127.0.0.1:9001?cert=./keys/s3l.cer&key=./keys/s3l.key&verify_mode=peer&ca=./keys/sso_ca.crt使用Ctrl停止
不幸的是,sinatra应用程序的RubyMine IDE正在使用一个硬编码的rackup命令来启动服务器,此外,它还为IP/端口提供了命令行参数,而使用这个命令,puma并没有真正读取它的配置文件。
在控制台中,它始终忽略配置文件:
以单模启动的-E生产Puma .* 3.12.0版(ruby 2.4.5-p 335),编码:睡衣中的羊驼* Min线程: 0,最大线程: 16 * Environment: production *侦听tcp://0.0.0.0:9292
=>错误的ip,端口和没有ssl!
那么,我如何通过按下一个触发rackup的play按钮来运行使用Rubymine的sinatra应用程序呢?我需要执行配置文件,因为我已经定义了ssl绑定.我需要使用rackup,因为rubymine是强制的。我需要rubymine来调试
最后,我的期望是:I或rubymine调用rackup,它读取他的config.ru,它调用puma,而puma正在寻找它在-E上脱模的configfile,但是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
要求‘红宝石’
要求'./app‘
运行应用程序
发布于 2018-10-31 18:02:54
您可以创建一个Run/Debug配置,并将参数添加到RubyMine执行的机架配置中(请确保将其添加到机架配置中,而不是Ruby):https://www.jetbrains.com/help/ruby/creating-and-editing-run-debug-configurations.html
只需将-C puma.rb添加到参数。
https://stackoverflow.com/questions/52989665
复制相似问题