Command-Line

簡單的命令行 HTTP 伺服器

  • March 19, 2021

我有一個腳本,它會生成一份我想為所謂的公眾提供的每日報告。問題是我不想增加對具有所有配置和安全含義的 HTTP 伺服器(例如 Apache)的維護。

是否有一個簡單的解決方案來提供一個小的 HTML 頁面,而無需配置一個完整的 HTTP 伺服器?

嘗試SimpleHTTPServer

python -m SimpleHTTPServer
# or the Python 3 equivalent
python3 -m http.server

它應該服務於http://0.0.0.0:8000的CWD(例如 index.html)中的任何內容。

有一個http 靜態伺服器單線的大列表

要進入此列表,解決方案必須:

  1. 使用目前目錄(或指定目錄)作為伺服器根目錄提供靜態文件
  2. 能夠使用單個、一行命令執行(如果它們是一次性的,則依賴關係很好)
  3. 使用適當的 mime 類型提供基本文件類型(html、css、js、圖像),除了命令本身(沒有特定於框架的伺服器等)之外不需要配置(來自文件或其他)
  4. 必須在前台執行或具有可以執行的模式(即沒有守護程序)

例如:

twistd -n web -p 8000 --path . 
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"}]}]).'
cpan Plack
plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
webfsd -F -p 8000
ruby -run -ehttpd . -p8000

引用自:https://unix.stackexchange.com/questions/32182