如何用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.   Antonio Cifuentes佔位符圖像 他說:

    如果您需要命令行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/