Http.server Python (atau SimpleHTTPServer untuk Python 2) adalah cara yang bagus untuk melayani isi direktori saat ini dari baris perintah:
python -m http.server
Namun, sejauh server web pergi, itu sangat slooooow ...
Berperilaku seolah-olah itu single threaded, dan kadang-kadang menyebabkan kesalahan waktu saat memuat modul JavaScript AMD menggunakan RequireJS. Diperlukan waktu lima hingga sepuluh detik untuk memuat halaman sederhana tanpa gambar.
Apa alternatif yang lebih cepat yang nyaman?
command-line
httpserver
command-line-tool
simplehttpserver
Drew Noakes
sumber
sumber
git instaweb
.Jawaban:
http-server untuk node.js sangat nyaman, dan jauh lebih cepat daripada SimpleHTTPServer Python. Ini terutama karena menggunakan IO yang tidak sinkron untuk penanganan permintaan secara bersamaan, alih-alih permintaan serialisasi.
Instalasi
Instal node.js jika Anda belum melakukannya. Kemudian gunakan manajer paket simpul (
npm
) untuk menginstal paket, menggunakan-g
opsi untuk menginstal secara global. Jika Anda menggunakan Windows, Anda akan memerlukan prompt dengan izin administrator, dan di Linux / OSX Anda akan menginginkansudo
perintah:Ini akan mengunduh semua dependensi yang diperlukan dan menginstal
http-server
.Menggunakan
Sekarang, dari direktori mana pun, Anda dapat mengetik:
Path bersifat opsional, default ke
./public
jika ada, jika tidak./
.Opsinya adalah [default]:
-p
Nomor port untuk didengarkan pada [8080]-a
Alamat host untuk diikat ke [localhost]-i
Tampilkan halaman indeks direktori [Benar]-s
atau--silent
mode Diam tidak akan masuk ke konsol-h
atau--help
Menampilkan pesan bantuan dan keluarJadi untuk melayani direktori saat ini pada port 8000, ketik:
sumber
-g
opsi ini, dan apakah Anda memastikan tidak ada kesalahan yang dicetak selama instalasi? Kesalahan itu hanya berarti tidak dapat ditemukan setelah instalasi, yang tampaknya tidak mungkin jika semuanya berjalan dengan baik. Anda berada di platform apa? Jalankan perintah find di drive Anda untuk menemukan file dengan namahttp-server
. Saya telah menggunakan ini dengan sukses pada beberapa distro Linux dan versi Windows yang berbeda.Saya sarankan: Twisted ( http://twistedmatrix.com )
Ini lintas platform dan sudah diinstal pada OS X 10.5 hingga 10.12. Di antara hal-hal lain, Anda dapat memulai server web sederhana di direktori saat ini dengan:
Detail
Penjelasan Opsi (lihat
twistd --help
lebih lanjut):"web" adalah Perintah yang menjalankan server web sederhana di atas mesin async Twisted. Ia juga menerima opsi baris perintah (setelah perintah "web" - lihat
twistd web --help
lebih lanjut):Ada juga banyak perintah lain seperti:
Instalasi
Ubuntu
Mac OS-X (telah diinstal sebelumnya pada 10.5 - 10.12, atau tersedia di MacPorts dan melalui Pip)
Windows
HTTPS
Twisted juga dapat menggunakan sertifikat keamanan untuk mengenkripsi koneksi. Gunakan ini dengan opsi yang ada
--path
dan--port
(untuk HTTP biasa) Anda.sumber
sudo apt-get install python-twisted-web
terlebih dahulu. (Terima kasih atas jawaban ini, sangat mudah!)twistd --help
dantwistd web --help
. Butuh waktu beberapa saat untuk memikirkannya.Pergilah1.0 termasuk server http & util untuk melayani file dengan beberapa baris kode.
Jalankan sumber ini menggunakan
go run myserver.go
atau untuk membangun yang dapat dieksekusigo build myserver.go
sumber
Coba webfs , ini kecil dan tidak tergantung pada memiliki platform seperti node.js atau python diinstal.
sumber
apt-get install webfs
brew install webfs
di Mac saya yang menghasilkan🍺 /usr/local/Cellar/webfs/1.21: 5 files, 96K, built in 15 seconds
. Setelah itu saya bisa mengatakanwebfsd -F -p 3003 -r resources/public/ -f index.html
untuk mencapai yang sama dengantwistd -no web -p 3003 --path=resources/public/
. Ini agak bertele-tele sehingga tidak jelas untuk diingat tetapi baik untuk diketahui sebagai alternatif untuk twistd atau SimpleHTTPServer.Jika Anda menggunakan Mercurial, Anda dapat menggunakan server HTTP bawaan. Dalam folder yang ingin Anda sajikan:
Dari dokumen :
sumber
Ini satu lagi. Itu adalah Ekstensi Chrome
Setelah diinstal, Anda dapat menjalankannya dengan membuat tab baru di Chrome dan mengklik tombol aplikasi di dekat kiri atas
Ini memiliki gui sederhana. Klik pilih folder, lalu klik
http://127.0.0.1:8887
tautanhttps://www.youtube.com/watch?v=AK6swHiPtew
sumber
Juga pertimbangkan devd server web kecil yang ditulis di mana saja. Binari untuk banyak platform tersedia di sini .
Ini kecil, cepat, dan menyediakan beberapa fitur opsional yang menarik seperti live-reload ketika file Anda berubah.
sumber
Saya menemukan
python -m http.server
tidak dapat diandalkan - beberapa tanggapan akan memakan waktu detik.Sekarang saya menggunakan server bernama Ran https://github.com/m3ng9i/ran
sumber
coba polpetta ...
maka kamu bisa
dan Anda siap untuk pergi :-)
sumber
Menggunakan Servez sebagai server
http://localhost:8080
atau pilih "Luncurkan Browser"Catatan: Saya melemparkan ini bersama-sama karena Server Web untuk Chrome akan pergi karena Chrome menghapus dukungan untuk aplikasi dan karena saya mendukung siswa seni yang memiliki pengalaman nol dengan baris perintah
sumber
Saya suka live-server . Cepat dan memiliki fitur isi ulang langsung yang bagus, yang sangat nyaman selama pengembangan.
Penggunaannya sangat sederhana:
Secara default ia membuat server dengan IP 127.0.0.1 dan port 8080.
http://127.0.0.1:8080/
Jika port 8080 tidak gratis, ia menggunakan port lain:
http://127.0.0.1==2749/
http://127.0.0.1:52858/
Jika Anda perlu melihat server web pada mesin lain di jaringan lokal Anda, Anda dapat memeriksa apa IP Anda dan gunakan:
Dan berikut ini adalah skrip yang secara otomatis mengambil alamat IP dari antarmuka default. Ini bekerja pada macOS saja .
Jika Anda memasukkannya ke dalam
.bash_profile
,live-server
perintah akan secara otomatis meluncurkan server dengan IP yang benar.sumber
Jika Anda memasang PHP, Anda bisa menggunakan server builtin.
sumber
Namun node lain berdasarkan server baris perintah sederhana
https://github.com/greggman/servez-cli
Ditulis sebagian sebagai tanggapan terhadap http-server mengalami masalah, terutama di windows.
instalasi
Instal node.js kemudian
pemakaian
Tanpa jalur, ia melayani folder saat ini.
Secara default ini berfungsi
index.html
untuk jalur folder jika ada. Ini melayani daftar direktori untuk folder sebaliknya. Ini juga melayani header CORS. Anda bisa mengaktifkan otentikasi dasar dengan--username=somename --password=somepass
dan Anda dapat melayani https.sumber