Saya memiliki skrip yang menghasilkan laporan harian yang ingin saya layani untuk masyarakat umum. Masalahnya adalah saya tidak ingin menambah perawatan server HTTP sakit kepala saya (misalnya Apache) dengan semua konfigurasi dan implikasi keamanan.
Apakah ada solusi sederhana mati untuk melayani satu halaman HTML kecil tanpa upaya mengkonfigurasi server HTTP penuh sesak nafas?
Jawaban:
Ya, nweb.
Dapat ditemukan di sini: nweb.c
(sebelumnya di ibm.com )
Untuk mengkompilasi nweb.c:
sumber
Coba SimpleHTTPServer :
Seharusnya akan melayani apa pun yang ada di CWD (misalnya index.html) di http://0.0.0.0:8000 .
sumber
python3 -m http.server 1337
. Anda tidak dapat menentukan IP mana yang akan diikat sejauh yang saya tahu. Catatan: Untuk mendengarkan port 80 Anda harus memiliki hak akses root, misalnya:sudo python3 -m http.server 80
twistd -n web -p 8000 --path .
--bind <address>
ditambahkan dengan python 3.4 .python -m SimpleHTTPServer 3000
Ada daftar besar http server statis satu-baris :
Sebagai contoh:
Twisted (Python)
Erlang :
Plack (Perl)
webfs
Ruby 1.9.2+
sumber
Gunakan
node.js
, cepat dan ringan.Atau
cukup gunakan
nc
perintah netcat sederhana untuk memulai server web cepat pada port dan menyajikan konten file termasuk header respons server.Referensi dari Wikipedia:
http://en.wikipedia.org/wiki/Netcat#Setting_up_a_one-shot_webserver_on_port_8080_to_present_the_content_of_a_file
sumber
nc
solusi berbasis :). Perhatikan bahwa-ne
flags untukecho
mungkin tidak portabel, menggunakanprintf
perintah sebagai gantinya mungkin merupakan alternatif yang lebih baik.Karena versi 5.4.0 PHP juga memiliki server web bawaan :
Anda dapat Menentukan direktori dokumen server web dengan
-t
, misalnya:Jika Anda ingin dapat mengakses server melalui jaringan, maka:
sumber
Node memiliki modul server HTTP sederhana, cepat, dan ringan. Untuk memasang:
(Asumsikan Anda sudah
node
dannpm
sudah menginstal.)Untuk menjalankannya, gunakan direktori saat ini sebagai root situs web:
Ini membuat server aktif
http://0.0.0.0:8080/
.sumber
npm install -D http-server
di dalam direktori proyek dan kemudian menambahkan baris berikut kepackage.json
file saya :"scripts": { "build": "webpack && cd src/public && http-server" },
sekarang saya hanya perlu menjalankannpm run build
pada direktori proyek untuk memulai server HTTP, mendengarkan pada port 8080 secara default.python3 -m http.server
", tetapi ini adalah single-threaded dan hanya 1 klien yang dapat mengunduh sekaligus, yang lain harus menunggu. Solusi ini dengan Node.js bekerja lebih baik, karena sifat async dari Node. Jika Anda ingin berbagi file dengan beberapa orang, gunakan ini.Coba gunakan
SimpleHTTPServer
dengan Python.Dua baris pertama adalah pengaturan untuk server web. Baris terakhir membuat server web sederhana, dibuka pada port 8080, yang hanya melayani file dari
~/public_html
. Jika hanya satu file dalam direktori tersebut, maka hanya yang terkena:http://localhost:8080/output.txt
.sumber
.py
file, lalu jalankan denganpython
(atau membuatnya dapat dieksekusi). Ingatlah bahwa Anda harus menjalankan dengan penerjemah python 2.x.Anda dapat membonceng xinetd . Masukkan file config berikut ke /etc/xinetd.d/ dan service xinetd reload :
Berfungsi untuk tujuan pengalihan saya:
sumber
Server HTTP WEBrick Ruby Oldschool :
Pastikan untuk memodifikasi
DocumentRoot
pengaturan Anda. Lihat juga ini .sumber
Pilihan lain adalah menginstal lighttpd. Berikut ini adalah langkah-langkah yang disarankan untuk menginstal lighttpd pada Unbuntu 12.04 LTS.
Catatan: Documentroot adalah tempat semua file yang dapat diakses web akan ditempatkan. Lokasi adalah / var / wwww
Langkah di atas akan menginstal server web lighttpd dasar. Untuk informasi lebih lanjut lihat referensi berikut
Referensi:
sumber
Ruby sederhana satu liner untuk melayani direktori:
sumber
./devd -o -a -P devd:devd .
https://github.com/cortesi/devd/releases
sumber
Perbaikan / peningkatan sederhana untuk jawaban yang sedikit tidak adil (imho) mungkin juga berfungsi. Mari kita mengatur file html terlebih dahulu ...
Sekarang Anda bisa menyajikannya dengan one-liner ini:
Ide dasar ini cocok untuk trik-trik lain yang mungkin berhasil untuk Anda melalui
cat
ide-ide lain atau subkulit seperti:sumber
coba caddy
curl https://getcaddy.com | bash
melayani konten dari / var / www
caddy -root /var/www "browse"
sekarang Anda menemukan server di http: // localhost: 2015
sumber
caddy
dari direktori lokal dan menikmati memiliki server web yang modern dan aman.Contoh netcat sederhana untuk dimasukkan ke dalam skrip bash:
sumber
while [ 1=1 ] ; do echo "TEST" | nc -l 80; done
- pergi ke 127.0.0.1 memang mengembalikan isinya. Saya harus melakukan itu sebagai root. Jadi dengan cara yang sangat kasar - itu bisa menyelesaikan pekerjaan, dan saya suka itu. Saya mencoba masuk ke my-hostnname.local di komputer lain di LAN dan berhasil juga.SFK layak disebutkan di sini
http://stahlworks.com/dev/swiss-file-knife.html
alat multiguna yang sangat baik tanpa ketergantungan
tersedia dalam rasa deb dan rpm
sfk httpserv -port 1234
akan melayani direktori saat ini
sfk httpserv -port 1234 -rw
juga akan memungkinkan pengunggahan file
sumber
Bash murni: Server web dalam skrip shell .
Juga, Anda akan memerlukan xinetd (saya percaya tersedia di distro apa pun) untuk mendengarkan port dan menjalankan skrip saat diperlukan, sehingga Anda tidak perlu kode tcp stack dll di bash.
sumber
Saya menggunakan instruksi ini untuk menginstal server web pada mesin CentOS saya tanpa harus menggunakan sudo atau menyentuh file sistem apa pun:
Instal node pertama:
kemudian instal http-server:
kemudian jalankan http-server pada port 12321:
sumber
Saya telah sedikit memperbaiki
nc
solusinya sehingga:filename=
petunjuk,/tmp/serveFile-$PORT
agar Anda dapat membunuhnya nanti dengan mudah..
Satu juga bisa menggunakan
nc -k -l ...
tetapi dengan cara ini Anda bisasumber