一个基于webrick 的简单web服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个基于webrick 的简单web服务器相关的知识,希望对你有一定的参考价值。

使用ruby 自带的webrick 可以非常方便地实现一个web服务器。


webrick.rb 基本代码如下:

#!/usr/bin/env ruby

require ‘webrick‘

root = File.expand_path ‘html‘
server = WEBrick::HTTPServer.new :Port => 8000, :DocumentRoot => root

trap ‘INT‘ do server.shutdown end
server.start


使用命令ruby webrick.rb 即可启动一个监听在8000端口的web服务器,

根目录在当前目录的子目录html里。代码中的web根目录也可以是一个绝对路径。


在web根目录中创建一个示例html文件,立马可以看到效果。比如:

echo "hello world" > html/index.html


上面的web 服务器没有日志功能,所有日志直接打印在console


可以稍加润色一下,加上日志功能,代码如下:

#!/usr/bin/env ruby

require ‘webrick‘

#webroot
root = File.expand_path ‘html‘

#access log
logfile = File.open ‘log/webrick.log‘, ‘a+‘
access_log = [ [logfile, WEBrick::AccessLog::COMBINED_LOG_FORMAT], ]
log = WEBrick::Log.new logfile

server = WEBrick::HTTPServer.new :Port => 8001, :DocumentRoot => root, :Logger => log, :AccessLog => access_log

trap ‘INT‘ do server.shutdown end

server.start





本文出自 “专注Linux 运维” 博客,请务必保留此出处http://purplegrape.blog.51cto.com/1330104/1891413

以上是关于一个基于webrick 的简单web服务器的主要内容,如果未能解决你的问题,请参考以下文章

具有Crystal的WEBrick之类的服务器

Rails启动Webrick Web服务器

简单webrick服务器

代码片段 - Golang 实现简单的 Web 服务器

Webrick 的响应速度很慢。如何加快速度?

推荐用于 Rails 3.1 和 Ruby 1.9.2 的开发 Web 服务器