OSX系统下随手建高性能静态文件服务器

Unless otherwise indicated, the text of documents in this site is available under the Creative Commons Attribution 3.0 Unported License, or any later version. Copyright 2009 - 2017 leopku.

场景

  • 临时在局域网内共享一个文件
  • 从网上当了一个项目(尤其是 js 类前端项目),需要临时起个 Web Server 跑一下试试。

静态文件服务器常见选择

  1. 专业静态文件服务器,有 nginx, apache, lighttpd 等等
  2. 开发语言带的简易模块

    • python :$ python -m SimpleHTTPServer
    • php: $ php -S localhost:8000
    • ruby: $ ruby -run -e httpd . -p 5000

不过这些都不是今天的主角,第 1 类太专业,需要专门安装配置,正常情况下个人使用的 Mac 不会安装;第 2 类方便快捷是有了,但都只能做一个简单响应或下载服务器,在多线程(比如有ajax请求的静态页面)环境中性能就会出现很大瓶颈。

下面,有请今天的主角,方快强悍的 Twisted 上场!

Twisted

Twisted 从 OSX 10.5 版本起,就被默认随系统一起提供。它鼎鼎大名,我就不多介绍了。直奔主题:

终端下运行: $ twistd -no web --path=. 接着就享受快感吧

可以将这句做成 alias 放进 .bashrc 或 .zshrc 中方便调用。

广告时间:使用 zsh 的童鞋们,欢迎使用、反馈我的 zsh 配置。对于这个案例来说,将 $ twistd -no web --path=. 放进 ~/.alias_local 文件中,再执行 $ config.zsh.alias.local.refresh (不要被这么长的命令吓倒,可以 tab 补全哦)即可。

对于非 OSX 系统肿么办?

Ubuntu

$ sudo apt-get install python-twisted-web

BSD

$ sudo port install py-twisted