問題タブ [thin]
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-on-rails - レールとIPスプーフィング
Rails 2.3.2に小さなアプリケーションがあり、nginx + thin(127)で提供されています。OS FreeBSD 7.1、DB-Posgresql。
今週のTwiseで私のアプリは落ちました。ログに次のようなものが表示されます(1秒あたり約2〜50リクエスト):
または:
/!\ FAILSAFE /!\ Tue Nov 09 09:24:39 +0200 2010ステータス:500内部サーバーエラーIPスプーフィング攻撃?!HTTP_CLIENT_IP = "XX.XX.XX.XX" HTTP_X_FORWARDED_FOR = "192.168.XX.XX、YY.YY.YY.YY"
そのシステムが最大オープンファイル制限に達した後(postgesqlセッションで開くと思います)、postgresqlは新しい接続を確立できず、アプリがフォールします。
どんな提案でも、どうすれば自分を守ることができますかssこの状況でpp?
ruby-on-rails - Rails バックエンド サーバーを直接接続から保護する
これは、Rails アプリケーションを提供する古典的なスキームです。フロントエンドは 80 ポートの Apache (nginx など) であり、バックエンドは、他のポート (たとえば、3000、3001、3002...) の雑種のクラスター (thin、unicorn など) です。 .
バックエンド サーバーが(フロントエンドからの) ローカル接続のみを許可するようにするにはどうすればよいでしょうか?
ruby-on-rails - Rails: Rails が実行されているポートを明示的に伝える
次の問題があります。Rails が実行されているポートを明示的に伝えたいので、_url ヘルパーは自動検出されたポートの代わりにそのポートを使用します。
根本的な問題は、レールアプリをシンサービスし、静的コンテンツをサービスするApacheがあることです。これは、Web サイトがポート 80 (Apache) でアクセスされている限り正常に機能しますが、thin が実行されているポートでアクセスされた場合には機能しません。(これは、自動検出されるポートです。)
ruby-on-rails - シン アズ ア サービスで Rails アプリを実行する
Web サーバーでサービスとしてシンを実行しようとしています。「sudo thin install」を実行した後、thin は /etc/init.d/thin に次のファイルを作成しました
シンサービスが開始されると、以下が実行されます
これにより、定義された各アプリのシン実行方法を定義するすべての yaml 構成ファイルがスキャンされます。これは動作しません。ログに次のように表示されます。
capistrano がデプロイされると、バンドルが $APP_PATH/shared/bundle ディレクトリにキャッシュされます。したがって、これは、シンサービスが $APP_PATH/shared/bundle を調べないため、インストールされていない宝石についてシンが不平を言う理由を説明しています
これは機能します:
しかし、それは /etc/init.d/thin のシン サービス ファイルが機能する方法ではありません。私は自分で書くことができたと思います。すでに解決済みの問題を解決したくないだけです。
ruby-on-rails - Run thin webserver as a windows service
i'm trying to deploy in production Redmine application. I heard that thin is the fastest ruby on rails webserver so I installed it. Now I have a really simple problem: i must start it every time i reboot the machine via cmd because there isn't a prebuilt windows service or something similar that allow me to autostart it. How could i fix the problem? I saw that there is a bat file, so i tried to make a C# windows service like this and it starts correctly but if I stop it the service stops but the webserver is still active and it will never shutdown. The only way to stop thin is to reboot the machine. Maybe I'm wrong, could someone post an example of how should i run thin as a windows service?
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 - eventmachine でシンとレインボーを使用した非同期シナトラ。なぜ細い方が速いのですか?
eventmachine を使用して、シンとレインボウの間で非同期シナトラ ベンチマークを開始しました。
eventmachine と 4 つの work_processes を使用する場合、Thin が Rainbows よりも高速である理由を誰か説明できますか? 1つのwork_processesでも試してみましたが、結果は変わりませんでした。Thin はさらに高速です。
事前にありがとうフランチェスコ
selenium - デフォルトの Webrick の代わりに Thin サーバーを使用して cucumber selenium を実行するには?
デフォルトの Webrick サーバーを使用して (Rails 3 アプリ用に) Selenium を実行するキュウリの機能。
Webrick の代わりに Thin サーバーで実行するように強制または設定するにはどうすればよいですか? env.rb ファイルなどに入れる設定はありますか?
ruby-on-rails-3 - Rails 3、ThinおよびNginx
シンを開始してURLをヒットしようとすると、以下のエラーが発生します。これをどのように解決できるかについての指針はありますか?