5 satırlık bash ile basit bir web sunucusu nasıl oluşturulur

Bu günlerde blog sunucular konusuyla biraz hareketli geçti, arkadaşımız Fico serisinde bize bilgisayar ağları üzerine bir ders veriyor. KOBİ'ler için Bilgisayar Ağlarıve web sunucularını yüklemek ve yapılandırmak için birkaç makale GNU / Linux üzerinde XAMPP nasıl kurulur ve yapılandırılır y NGINX, Google Page Speed ​​ile Ubuntu'ya otomatik olarak nasıl kurulur?.

Özgür yazılım dünyasının nasıl bu kadar beslendiği, bazen basit ve diğer zamanlarda biraz daha karmaşık olduğu, bugün size basit bir web sunucusu oluşturmamızı sağlayan 5 satırlık küçük bir girişim getiriyoruz.

Şinatra

Şinatra tarafından yapılan denemenin adıdır Ben Raady serbestçe dağıtıldığını, doğru olduğu kadar etkili olduğunu da, sadece gerekli kod satırları ile bash oluşturup indirip, bash'ı port + barındırmak istediğimiz mesaj ile çalıştırıyoruz.

Basit bir web sunucusu oluşturmamızı sağlayan, çeşitli GNU / Linux dağıtımlarında çalışan ve OS X'de kurulum gerektirmeyen bu script, kullanmak istediğiniz yollarda esnektir, her türlü içeriğe izin verir, ayrıca Herhangi bir sunucuya hızlı bir şekilde bilgi koymak istemeniz durumunda çok kullanışlı bir araç olabilir.

Shinatra nasıl kullanılır

Şinatra Aşağıdaki kod satırlarından oluşur:

#! / bin / bash RESPONSE = "HTTP / 1.1 200 Tamam \ r \ nBağlantı: canlı tutma \ r \ n \ r \ n $ {2: -" Tamam "} \ r \ n" iken {echo -en " $ RESPONSE "; } | nc -l "$ {1: -8080}"; yankı yap "============================================ = "bitti

İstediğiniz adla bir .sh dosyası oluşturabilir ve ardından aşağıdaki gibi çalıştırabilirsiniz:

./shinatra.sh [port] [response]

Güncellenen komut dosyasını resmi depolardan da edinebilirsiniz, bunu yapmak için aşağıdaki adımları izleyin:

git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 'Sunucu Yanıt Mesajı'

Komut dosyasına istediğinizi gönderebilirsiniz, örneğin:

Basit bir web sunucusu oluşturun

Kuşkusuz, bir web sunucusunu çalıştırmanın hızlı, basit ve kolay bir yolu, faydası ve kapsamı çeşitlidir. Bu senaryoyu ne amaçla kullanırsınız? Faydalı buluyor musunuz?


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Gaspar Fernandez dijo

    Bir süre önce, rotaya ve her şeye göre birkaç yanıt tanımlayabileceğiniz benzer bir komut dosyası hazırladım. 5 satır değildi ama birkaç şey yapabilirdik: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/

    Bunu netcat tarzı yapmanın dezavantajı, eşzamanlılıktan yararlanmamamız ve kaynakların çok fazla israf edilmesidir, ama bu güzel bir deney 🙂

  2.   Gonzalo martinez dijo

    Başka bir yol da python'dur (neredeyse tüm dağıtımlarda gelir)

    sudo piton -m SimpleHTTPServer 80

    Farklı çalışır, bu şekilde sunucunun çalıştığı dizinde bulunan dosyalara hizmet verir, ancak bu başka bir basit yol

  3.   jose perez dijo

    php ile başka bir
    php -S 127.0.0.1:9000

  4.   Antonio Cifuentes bilgi alanı resmi dijo

    Bu yazıyı bir yıl önce okudum, komut satırına göre web sunucularının tam listesini istemeniz durumunda.

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

  5.   Edward Cuomo dijo

    Herhangi bir şeyin kurulu olmadığı bir sunucuya dosya aktarabilirsiniz ve ROOT izniniz yoktur:

    #! / Bin / bash
    dosya = »$ 1 ″
    bağlantı noktası = 8080

    n = »\ r \ n»
    gövde = »$ (base64« $ {dosya} »)»

    YANIT = »HTTP / 1.1 200 Tamam»
    RESPONSE = »$ {RESPONSE} $ {n} Bağlantı: canlı tut»
    RESPONSE = »$ {RESPONSE} $ {n} İçerik Türü: uygulama / sekizli akışı»
    RESPONSE = »$ {RESPONSE} $ {n} İçerik-Eğilimli: satır içi; dosyaadı = \ »$ {dosya} \» »
    YANIT = »$ {RESPONSE} $ {n} $ {n} $ {body}»

    while {echo -en "$ RESPONSE"; } | nc -l "$ {bağlantı noktası}"; yapmak
    echo «============================================»
    yapılmış

    Ardından, aldığınızda, "base64 -d dosya adı" ile yeniden dönüştürürsünüz.

  6.   Edward Cuomo dijo

    Daha birçok örnek var:
    $ adam nc

  7.   Jose Maria Garcia dijo

    Linux ve macOS'ta tercih edilen kabuk ve paket yöneticisi kullanılabilir. Windows 10'da, Windows ile entegre bir Ubuntu ve Bash sürümü almak için Linux için Windows Alt Sistemini yükleyebilirsiniz, çok iyi bir eğitim.

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