serve current directory from command line

后端 未结 8 1631
梦如初夏
梦如初夏 2020-12-04 05:15

could someone give me a hint, howto serve the current directory from command line with ruby? it would be great, if i can have some system wide configuration (e.g. mime-types

8条回答
  •  被撕碎了的回忆
    2020-12-04 05:30

    Simplest way possible (thanks Aaron Patterson/n0kada):

    ruby -run -e httpd . -p 9090
    

    Alternate, more complex way:

    ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 9090, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
    

    Even the first command is hard to remember, so I just have this in my .bashrc:

    function serve {
      port="${1:-3000}"
      ruby -run -e httpd . -p $port
    }
    

    It serves the current directory on port 3000 by default, but you can also specify the port:

    ~ $ cd tmp
    ~/tmp $ serve      # ~/tmp served on port 3000
    ~/tmp $ cd ../www
    ~/www $ serve 5000   # ~/www served on port 5000
    

提交回复
热议问题