問題タブ [rackup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - HTTPSをサポートするラックアップ
私はこの質問を見つけました。これは私の問題を実際には解決しませんが、少なくとも私の質問を正しい方法で表現することができます。
を介して起動する簡単なキャンプアプリがありrackup
ます。安全な接続を介してアプリをテストできるようにしたいのですが(自己署名サーバー証明書で十分です)、開発ボックスにrootがないため、デフォルトのサーバーを保護できればより良いでしょう。ラックアップ(Mongrel、多分?WEBrick?確認方法がわからない)は軽量で、箱から出してすぐに機能するためです。
繰り返しになりますが、私はa)rootを持っていない、b)以前にApacheサーバーを構成したことがない、c)私がそれを助けることができるかどうかを特に知りたくない。これを行う簡単な方法がない場合、それは人生だと思いますが、HTTPSサポートを提供するためにオプションを1つか2つ渡すか、config.ruを更新することができれば、それは理想的です。
ruby - Sinatraアプリケーションを介してラックアップにオプションを渡す
私はルビーに不慣れで、シナトラを学んでいます。直下のルートを要求して設定することでSinatraサイトを作成するの'sinatra'
は非常に簡単で、かなり文書化されていますが、''sinatra/base'
から継承するクラスを要求して作成することでアプリケーションを作成すること'Sinatra::Base
は、比較的簡単ですが、文書化が非常に不十分です(おそらく、シナトラのかなり最近の機能)。
そしてそれはまさに私がしていることです。シナトラの部分ではあまり問題はありませんが、ラックアップ/シン/サーバーの部分で少し問題があります。どうやら、アプリケーションをデプロイする方法は2つありますrun!
。Sinatra自体を使用する(メソッドを使用する)方法と、ラックアップファイルを使用する方法(通常はconfig.ru
)です。
Sinatraのrun!
方法を使用することは非常に直感的で魅力のように機能しますが、アプリをherokuにデプロイしたい場合は機能しないようです。実際のところ、GitHubで遭遇したほとんどすべてのSinatraアプリはconfig.ru
ファイルを使用しています。
ラックアップファイルの使用も同様に直感的かもしれませんが、Sinatraアプリからサーバー(ir:ポート)にオプションを渡す方法を理解できません。オプションをrackupのデフォルトのオプション配列にマージしようとしました。
アプリに直接オプションを追加する:
アプリケーションクラス内からオプションを設定することにより、次のようになります。
上記のすべての方法は、エラーメッセージを表示するか、オプションを考慮しなかったために失敗しました。それで、ラックアップファイルを使用するときにSinatraアプリを介してラックアップ/シン/サーバーにオプションを渡す方法はありますか?または、質問のオプションをコマンドラインオプションを介してラックアップ/シン/サーバーに直接渡す必要がありますか?
問題への参照として、これが私が構築している小さなSinatraアプリケーションです:https ://github.com/AzizLight/Wiki/
ruby - ラックアップを使用した run_later が ctrl-c で終了できない - Ruby
この run_later https://github.com/elecklider/sinatra_run_laterモジュール ( https://github.com/pmamediagroup/sinatra_run_later の私自身のフォーク)を使用してラックアップで Sinatra アプリケーションを実行しています。ただし、ctrl-cをラックアップに送信しても、正常に終了できないようです。38 行目のエラーでキックバックしERROR SystemExit: exit
ます。ラックアップ プロセスを閉じたときに、うまく終了させるにはどうすればよいですか?
編集:
私はこれをいじっていましたが、ここでエラーが発生しました:
そして、ブロック全体をコメントアウトすると、trap
うまくクリーンアップされるようです。本質的に、これはそれをうまくクリーンアップする方法の質問に答えますが、その理由がわからないので、誰かが説明を提供できれば本当に感謝しています.
ruby - 「ラックアップ」コマンドが見つかりませんか?
http://titusd.co.uk/2010/04/07/a-beginners-sinatra-tutorial
rackup config.ru
上記のセクション 4 のチュートリアルで説明されているように、コマンド ラインから実行しようとしていました。
何が起こったのですか?
ruby - "rackup" でラック アプリを実行すると NameError が発生するのはなぜですか?
を使用してラック アプリを実行できませんrackup
。
これは私のconfig.ruです:
rackup config.ru
スローの呼び出し:
プロジェクト全体はGithubで確認できます。となる理由がわかりませんNameError
。
ruby - ラックアプリの構造とconfig.ruの仕様をお探しですか?
これはおそらく私を不自由に見えるでしょうが、それでも-典型的なラックアプリケーション構造(public、config.ruなどのフォルダ/ファイル)またはconfig.ru
ファイルの内容の正式な説明を見つけることができません。
Javaの世界では、Webアプリケーションとそれを構成する部分(WEB-INF、META-INF web.xml)の明確な定義があります。
Rack Webアプリケーションの仕様はありますか?それとも、Ruby自体のように漠然としたものですか。
http://rack.rubyforge.org/サイトのどこかでその情報を見つけることを期待していましたが、見つかりませんでした。私を正しい方向に向けてください。
私はこの質問に回答済みのマークを付けましたが、質問自体はあまり正当ではないことに言及する価値があります。アプリの構造は、Rackではなく、Apache/Passengerなどの実際に使用されているWebサーバーとプラグインの組み合わせによって決まります。
ruby-on-rails - Foreman gem を含む無効なラックアップ ファイル
vagrant (Ubuntu) で foreman start を実行しようとしています。
プロフィール
private_pub.ru は私のルート ディレクトリの下にあり、Procfile も同様です。
私がこれを行うと(動作します):
そしてレールサーバーの後...
しかし、私がこれを行うとき:
configuration - HerokuにSinatraアプリをデプロイする
私は、SinatraアプリをHerokuにデプロイすることについて、実際には実際的な問題ではなく、単なる概念上の難問であることに戸惑っています。
私は2つのアプリを持っていますが、ほとんどすべての点で同じですが、1つは、Sinatra :: Baseクラスを含まないファイルにロジックのほとんどを配置し、「requireotherfilename」を使用して必要なロジックを取得します。そのSinatra:Baseクラスの名前はKincalcです。
すべてのロジックが1つのファイル(つまり、Sinatra:Baseクラスを含む同じファイル)に含まれているアプリの場合、config.ruファイルの最後の行に「runSinatra :: Application」と表示され、正常に起動します。しかし、他のアプリでは、それを最後の行に含めると、アプリは正しくアップロードされ、「Herokuにデプロイされました」と表示されますが、「見つかりません」というメッセージが表示されます。最後の行に「runKincalc」と表示すると、正常に読み込まれます。
私はこれを前後にチェックしましたが、ロジックに2番目のファイル(これもルートにあります)を使用するという事実を除いて、これら2つのアプリの構築方法に違いはありません。なぜこれが問題になるのでしょうか、それとも本当に問題なのですか?2番目のファイル(Sinatraクラスのないファイル)を別のlibフォルダーに入れようとすると、クラス名を呼び出しても機能しますが、「Sinatra::Application」を呼び出しても機能しません。
websocket - フェイは接続をブロックします
RailsアプリケーションでFayeを使用していますが、非常に奇妙な動作が発生しています。subscribe
すべてのアセットが提供される前に(つまり、$(document).ready()
呼び出された後、ブラウザーのスピナーが実行されている間に) Fayeが到達すると、Fayeはブラウザが「読み込み中」モードになっている(スピナーが停止することはありません)。
確実にする方法はわかりませんが、私はWebSocketを使用しており、長いポーリングは行っていないと思います。websocketを参照するデバッグメッセージを有効にすると、fayeのログに表示されます。
ブラウザは、実行中のスタンドアロンthin
サーバーに接続します
私が使用しているコマンドは
私はフェイ0.8を実行しています
5分後、私は単純[Esc]
にそれらが表示されます。これfaye.js
はFayeが提供するスクリプトであり、これらのファイルのそれぞれが各subscribe
呼び出しに対応しているようです。
興味深いことに、これらの5つのファイルの後に、1分ごとに開始する5つの呼び出しのブロックがあります。
これに関する助けをいただければ幸いです。
ruby-on-rails - ラックアップ マウント アプリとシナトラ アプリのレール マウント
ruby 用にさまざまなアプリをマウントするより良い方法はどれだろうと思っていました。2 つのsinatra アプリと 1 つの rails アプリがあります。
1 つの方法は、レールをベースとして使用し、routes.rb
(レール内で)を使用してシナトラ アプリをマウントすることです。
このようにして、両方のsinatraアプリがレールにあります。
他の方法は、ラックアップを使用して3つすべてをマウントすることconfig.ru
です(3つのアプリすべてを並行して)
どちらの方法が他の方法よりも優れているか、どの方法がどのような理由で優れているかを見つけることができません。