Rubyには、単純なWebサーバーwebrickが付属しています。次のコードは、単純な「ハロー、ワールド」Webサーバを実装するためにWEBrickにを使用しています:」を実行すると
require "webrick"
server = WEBrick::HTTPServer.new(Port: 8000)
server.mount_proc "/" do |req, res|
res.body = "Hello, world!\n"
end
server.start
、それが実行され、リクエストを処理する準備ができていることを示すために、いくつかのログ出力を出力します。
[email protected]:~$ curl localhost:8000
Hello, world!
Althou:
[2016-07-22 12:02:01] INFO WEBrick 1.3.1
[2016-07-22 12:02:01] INFO ruby 2.3.1 (2016-04-26) [x86_64-linux]
[2016-07-22 12:02:01] INFO WEBrick::HTTPServer#start: pid=16318 port=8000
は、私は、サーバーに要求を与えるために* nixのユーティリティ
カールを使用しましたgh私はカールを使用して、任意のWebブラウザも動作します。プログラムを起動した後にWebブラウザを送信します([例]を参照してくださいあなたはhttpサーバを自分で構築しなければならないシナトラやRailsのようなWebフレームワークなしで何を意味するのか、いずれかの宝石をインストールせずに
http://localhost:8000
(HTTPS: //www.practicingruby.com/articles/implementing-an-http-file-server))。そのサーバーでは、少なくとも要求を受け入れ、スクリプトを実行し、スクリプトの出力をキャプチャし、htmlドキュメントを出力とともにレンダリングしてブラウザに戻す必要があります。これはあまりにも広すぎる のstackoverflowの質問です。おそらく、あなたはリンクされた記事に続き、問題に直面したときにさらに具体的な質問をすることができます。 – spickermann
@spickermannあなたは冗談でなければなりません:)簡単な 'cgi-bin'でもできます。既存のWebサーバーが外部実行可能ファイルを実行し、出力をレンダリングする可能性があります。しかし、これはまだまだ広すぎて問題はありません。 – mudasobwa
@mudasobwa私は彼が宝石なしで普通のRubyを使いたいかのように質問を読んでいます。そして、これは他の外部依存関係がなくても(Webサーバーをインストールする必要性など)、これが意味するところです。 OPがその要件について詳述するチャンスを取るならば素晴らしいだろう。 – spickermann