How to run a small web server (one-liner)

Updated . Posted . Visible to the public.

Sometimes you just want to have a small web server that serves files to test something.

Serve the current directory

On Ruby 1.9.2+ you can do the following ("." for current directory).

ruby -run -ehttpd . -p8000

Python 2.x offers a similar way.

python -m SimpleHTTPServer 8000 .

This is the same way with Python 3.x

python -m http.server

In both cases your web server is single-threaded and will block when large files are being downloaded from you.

WEBrick also offers a simple way Show archive.org snapshot to serve your files via HTTPS:

ruby -r webrick/https -e '
  WEBrick::HTTPServer.new(
    Port: 8000, DocumentRoot: ".",
    SSLEnable: true, SSLCertName: [%w[CN localhost]]
  ).start'

For solutions in many other languages, see the big list of http static server one-liners Show archive.org snapshot .

Running a Rack application

To boot an application that comes with a config.ru, simply run

rackup

Or, if you have installed Passenger Standalone:

passenger start

For HTTPS, use this snippet:

puma -b ssl://localhost:8000
Arne Hartherz
Last edit
Michael Leimstädtner
Keywords
webserver, local, oneliner
License
Source code in this card is licensed under the MIT License.
Posted by Arne Hartherz to makandra dev (2015-11-02 11:20)