如何用5行bash创建一个简单的Web服务器

这些天来,博客围绕服务器主题变得活跃起来,我们的朋友Fico在他的系列文章中为我们提供了有关计算机网络的讲座 中小企业计算机网络,以及几篇有关在其中安装和配置Web服务器的文章 如何在GNU / Linux上安装和配置XAMPP y 如何在Ubuntu上自动使用Google Page Speed安装NGINX.

自由软件的世界是如此丰富,有时很简单,有时更复杂,今天,我们为您带来5行的尝试,这使我们能够创建一个简单的Web服务器。

希那特拉

希那特拉 是由...进行的尝试的名称 本·拉迪 并且它已经自由分发,它的有效性和准确性一样,我们只需使用必要的代码行创建或下载bash,然后使用端口+想要托管的消息来执行bash。

这个脚本使我们可以创建一个简单的Web服务器,可以在各种GNU / Linux发行版和OS X中使用,它不需要安装,在您要使用的路径中很灵活,它允许各种内容,以及如果您想在任何服务器上快速放置信息,它可能是一个非常有用的工具。

如何使用Shinatra

希那特拉 它由以下几行代码组成:

#!/ bin / bash RESPONSE =“ HTTP / 1.1 200 OK \ r \ n连接:keep-alive \ r \ n \ r \ n $ {2:-” OK“} \ r \ n”而{echo -en“ $ RESPONSE“; } | nc -l“ $ {1:-8080}”; 做回声“ ============================================== “完成

您可以简单地使用所需的任何名称创建一个.sh文件,然后按以下方式运行它:

./shinatra.sh [port] [response]

您还可以从官方存储库获取更新的脚本,为此,请按照下列步骤操作:

git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80'服务器回复消息'

您可以向脚本发送任意内容,例如:

创建一个简单的Web服务器

毫无疑问,一种使Web服务器正常工作的快速,简便的方法,其实用性和范围各不相同。 您将如何使用此脚本? 您觉得有用吗?


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   加斯帕尔·费尔南德斯(Gaspar Fernandez)

    前段时间,我做了一个类似的脚本,您可以在其中根据路线和所有内容定义多个响应。 不是5行,但是我们可以做几件事: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    使用netcat样式的缺点是我们没有利用并发性,并且浪费了很多资源,但这是一个不错的实验🙂

  2.   贡萨洛·马丁内斯

    另一种方法是使用python(几乎所有发行版中都附带)

    须藤python -m SimpleHTTPServer 80

    它的工作方式不同,这种方式为服务器运行目录中的文件提供服务,但这是另一种简单的方式

  3.   何塞·佩雷斯

    与PHP的另一个是
    的PHP -S 127.0.0.1:9000

  4.   安东尼奥·奇富恩特斯

    如果您需要命令行Web服务器的完整列表,我一年前曾读过这篇文章。

    https://www.busindre.com/servidor_web_por_linea_de_comandos.

  5.   爱德华多·库莫(Eduardo Cuomo)

    您可以在未安装任何内容的服务器上传输文件,并且您没有ROOT权限:

    #!/斌/庆典
    文件=»$ 1''
    端口= 8080

    n =»\ r \ n»
    正文=»$(base64«$ {file}»)»

    响应=»HTTP / 1.1 200 OK»
    响应=»$ {响应} $ {n}连接:保持活动状态»
    RESPONSE =»$ {RESPONSE} $ {n}内容类型:应用程序/八位位组流»
    RESPONSE =»$ {RESPONSE} $ {n}内容处置:内联; 文件名= \»$ {文件} \»»
    响应=»$ {响应} $ {n} $ {n} $ {body}»

    而{echo -en“ $ RESPONSE”; } | nc -l“ $ {port}”; 做
    回声«=============================================»
    完成

    然后,当您收到它时,使用“ base64 -d filename”再次对其进行转换

  6.   爱德华多·库莫(Eduardo Cuomo)

    还有更多示例:
    $人nc

  7.   何塞·玛丽亚·加西亚

    在 Linux 和 macOS 上,可以使用首选的 shell 和包管理器。 在 Windows 10 上,您可以安装适用于 Linux 的 Windows 子系统以获得与 Windows 集成的 Ubuntu 和 Bash 版本,非常好的教程。

    https://clongeek.com/como-instalar-macos-desde-usb/