AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1102594
Accepted
Display name
Display name
Asked: 2018-12-18 08:46:21 +0800 CST2018-12-18 08:46:21 +0800 CST 2018-12-18 08:46:21 +0800 CST

如何设置最简单的 HTTP 本地服务器?[复制]

  • 772
这个问题在这里已经有了答案:
从任何目录运行 Web 服务器 5 个答案
3年前关闭。

我使用R Studio IDE做很多事情,其中​​之一是利用blogdown 包为本地网站提供服务,该包是hugo的一个分支。我在R Studio中编写代码并使用该blogdown::serve_site()命令预览站点。这是我所知道的预览静态 HTML 网站的最简单方法。利用hugo R Studio强制我的浏览器转到该127.0.0.1:XXXX位置,并且我的本地站点在我眼前预览。

我可以使用 Ubuntu 18.04 本地服务本地站点吗?如何?我想它应该很简单。在网上搜索我找不到任何简单的方法来做到这一点。如果我只是直接在浏览器中打开静态 HTML 文件,它们就会出现问题。所有图片链接立即断开。标题、超链接等的格式与我在本地使用hugo提供页面时不同。

编辑- 我并没有真正定义我的术语“简单”。答案中有两种不同的方法(到目前为止),一种对最终用户最简单,另一种对我的计算机执行的操作很简单。我喜欢这两种方法,并且在我测试它们时欢迎使用任何方法的答案。谢谢你。

server r html webserver localhost
  • 7 7 个回答
  • 74866 Views

7 个回答

  • Voted
  1. Best Answer
    j-money
    2018-12-18T10:03:38+08:002018-12-18T10:03:38+08:00

    Ubuntu 使用 python3 作为默认值,他们竭尽全力让这对我们来说非常容易:D

    要在端口端口上启动 http 服务器,只需键入

    python -m http.server port
    

    如果要共享文件和目录,请 cd 进入您要服务的目录

    cd /my/html/files
    python -m http.server 8080
    

    如果您想使用默认地址以外的地址,0.0.0.0您可以使用--bind

    例如:python -m http.server 8080 --bind 127.0.0.1将在地址为他们服务127.0.0.1:8080:)

    编辑:无论它是否真的很长,我都会把它留给读者

    为了您的方便,这里还有一个文档链接https://docs.python.org/3/library/http.server.html

    • 108
  2. Richard
    2018-12-18T17:49:49+08:002018-12-18T17:49:49+08:00

    这是一行中的 HTTP 服务器列表。我确信有一个适合您的目的/现有工具。

    此后是链接的子集,我认为其中包含最方便的链接。

    Python:

    python -m http.server 8000
    

    红宝石:

    ruby -run -ehttpd . -p8000
    

    节点:

    npm install -g http-server
    http-server -p 8000
    

    php:

    php -S 127.0.0.1:8000
    
    • 56
  3. solsTiCe
    2018-12-18T09:49:37+08:002018-12-18T09:49:37+08:00

    设置静态 http 站点的一种简单方法是使用darkhttpd

    ubuntu 中没有为此提供的软件包,但该软件只是一个源文件,您可以使用网站上的 tarball 或使用 git 下载它:

    git clone https://unix4lyfe.org/git/darkhttpd
    cd darkhttpd
    

    然后运行 make,你就有了你的darkhttpd可执行文件。(将其放入/usr/local/bin以使其可供每个用户使用)

    跑

    ./darkhttpd /path/to/wwwroot
    

    或者

    ./darkhttpd --help
    

    获取有关命令的帮助

    可以指定要使用的目录或端口以及许多其他选项。

    • 7
  4. Minty
    2018-12-18T09:40:13+08:002018-12-18T09:40:13+08:00

    sudo apt install apache2将安装 apache2 网络服务器。默认情况下,它提供index.html对/var/www/html文件夹的访问;用您想要托管的任何内容替换此文件是最简单的方法,然后您可以导航到本地计算机上的http://127.0.0.1或网络上您计算机的 IP 地址,它将为页面提供服务。

    • 4
  5. Edheldil
    2018-12-19T06:35:36+08:002018-12-19T06:35:36+08:00

    如果您不想记住 python 命令的参数,请使用woof:

    Description: share files through HTTP protocol
     Woof (Web Offer One File) is a tool to copy files among hosts. It can serve a
     specified file on HTTP, just for a given number of times, and then exits.
    
    Features include:
     * it can share stuff "one shot" and exit just after he served that file.
     * it can share things among different operating system or different devices
       (e.g.: a smartphone), and allows one to upload files easily.
     * it can also show a simple html form in order to upload file (useful if the
       client hasn't a way to serve the file).
    

    你可以在 Debian/Ubuntu 上安装它

    apt install woof
    

    并用作

    woof kittens.png
    

    它将打印一个 URL 以放入另一端的浏览器。

    • 4
  6. Diego Bernal
    2018-12-18T15:58:24+08:002018-12-18T15:58:24+08:00

    如果您是 Google Chrome 用户,则可以像使用Web Server for Chrome一样简单。只需安装它,启动它,单击选择文件夹以选择保存静态文件的目录。

    • 3
  7. CYB3R
    2018-12-19T01:08:23+08:002018-12-19T01:08:23+08:00

    netcat如本文所述,使用最简单(也是最有限)的解决方案之一:

    while true; do { echo -e "HTTP/1.1 200 OK\r\n$(date)\r\n\r\n<h1>hello world from $(hostname) on $(date)</h1>" | nc -vl 8080; } done

    此示例在端口 8080 上提供服务,在前 1024 个端口上提供服务将需要您使用sudo. 您也可以通过简单地使用cat filename.

    有关更复杂的示例,请查看bashttpd。

    还要注意netcat-traditional和netcat-openbsd之间的区别。Ubuntu 提供了这两个版本。

    • 1

相关问题

  • 使用 dpkg 手动安装软件包是否会阻止未来的升级路径?

  • 如何从命令行刻录双层 dvd iso

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve