Movatterモバイル変換


[0]ホーム

URL:


Skip to content
Search Gists
Sign in Sign up

Instantly share code, notes, and snippets.

@flyfire
Forked fromwillurd/web-servers.md
CreatedJune 5, 2022 15:07
    • Star(0)You must be signed in to star a gist
    • Fork(0)You must be signed in to fork a gist
    Save flyfire/bcf661fa3de06e6c0626fae702fa6387 to your computer and use it in GitHub Desktop.
    Big list of http static server one-liners

    Each of these commands will run an ad hoc http static server in your current (or specified) directory, available athttp://localhost:8000. Use this power wisely.

    Discussion on reddit.

    Python 2.x

    $ python -m SimpleHTTPServer 8000

    Python 3.x

    $ python -m http.server 8000

    Twisted(Python)

    $ twistd -n web -p 8000 --path.

    Or:

    $ python -c'from twisted.web.server import Site; from twisted.web.static import File; from twisted.internet import reactor; reactor.listenTCP(8000, Site(File("."))); reactor.run()'

    Depends onTwisted.

    Ruby

    $ ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'

    Credit:Barking Iguana

    Ruby 1.9.2+

    $ ruby -run -ehttpd. -p8000

    Credit:nobu

    adsf(Ruby)

    $ gem install adsf# install dependency$ adsf -p 8000

    Credit:twome

    No directory listings.

    Sinatra(Ruby)

    $ gem install sinatra# install dependency$ ruby -rsinatra -e'set :public_folder, "."; set :port, 8000'

    No directory listings.

    Perl

    $ cpan HTTP::Server::Brick# install dependency$ perl -MHTTP::Server::Brick -e'$s=HTTP::Server::Brick->new(port=>8000); $s->mount("/"=>{path=>"."}); $s->start'

    Credit:Anonymous Monk

    Plack(Perl)

    $ cpan Plack# install dependency$ plackup -MPlack::App::Directory -e'Plack::App::Directory->new(root=>".");' -p 8000

    Credit:miyagawa

    Mojolicious(Perl)

    $ cpan Mojolicious::Lite# install dependency$ perl -MMojolicious::Lite -MCwd -e'app->static->paths->[0]=getcwd; app->start' daemon -l http://*:8000

    No directory listings.

    http-server(Node.js)

    $ npm install -g http-server# install dependency$ http-server -p 8000

    Note: This server does funky things with relative paths. For example, if you have a file/tests/index.html, it will loadindex.html if you go to/test, but will treat relative paths as if they were coming from/.

    node-static(Node.js)

    $ npm install -g node-static# install dependency$ static -p 8000

    No directory listings.

    PHP(>= 5.4)

    $ php -S 127.0.0.1:8000

    Credit:/u/prawnsalad andMattLicense

    No directory listings.

    Erlang

    $ erl -s inets -eval'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'

    Credit:nivertech (with the addition of some basic mime types)

    No directory listings.

    busybox httpd

    $ busybox httpd -f -p 8000

    Credit:lvm

    webfs

    $ webfsd -F -p 8000

    Depends onwebfs.

    IIS Express

    C:\>"C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\MyWeb /port:8000

    Depends onIIS Express.

    Credit:/u/fjantomen

    No directory listings./path must be an absolute path.

    Meta

    If you have any suggestions, drop them in the comments below or on the reddit discussion. To get on this list, a solution must:

    1. serve static files using your current directory (or a specified directory) as the server root,
    2. be able to be run with a single, one line command (dependencies are fine if they're a one-time thing),
    3. serve basic file types (html, css, js, images) with proper mime types,
    4. require no configuration (from files or otherwise) beyond the command itself (no framework-specific servers, etc)
    5. must run, or have a mode where it can run, in the foreground (i.e. no daemons)
    Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

    [8]ページ先頭

    ©2009-2025 Movatter.jp