Bagaimana cara memulai server web dengan mudah di folder apa saja?

115

Saya mencari cara yang relatif tidak menyakitkan untuk meluncurkan server web dengan root dokumen di folder apa pun yang saya tentukan (atau lebih baik lagi, tempat saya meluncurkan).

Saya sering mencoba hal-hal baru seperti kerangka kerja JS atau lebih di folder baru di suatu tempat di sini:

/home/alexander/code/angularjs/

Maka akan lebih mudah untuk hanya masuk ke direktori ini dan ketik sesuatu seperti:

start-webserver-here 

sehingga server web mulai mendengarkan pada port 80 dan melayani direktori ini, dan saya dapat mencoba apa pun yang saya kerjakan.

Saya telah menginstal XAMPP tetapi tampaknya itu adalah apache dasar dengan root dokumen yang harus saya ubah, bahkan dengan hak akses root, bersama dengan memberikan izin untuk setiap folder dll.

Apakah ada cara yang lebih mudah?

Alexander Rechsteiner
sumber
Seseorang telah menyusun daftar besar satu liner untuk mencapai ini: gist.github.com/willurd/5720255
Abhinav Bhatia

Jawaban:

174

Menggunakan

python2 -m SimpleHTTPServer 80

atau

python3 -m http.server 80

untuk memulai server HTTP sederhana.

Ganti 80dengan nomor lain jika Anda ingin mendengarkan di port lain. Untuk port <1024 perlu dijalankan dengan hak akses root.

Florian Diesch
sumber
1
Inilah yang sebenarnya saya cari! Danke!
Alexander Rechsteiner
1
Bisakah Anda menjalankan ini secara paralel ke Apache? Pada port yang berbeda tentu saja (Meskipun saya akan menyambut Anda untuk meledakkan pikiran saya dengan mengatakan kepada saya mereka dapat menggunakan port yang sama).
dibs
3
@dibs Ya keduanya bisa berjalan secara paralel. Tapi tidak, tidak di port yang sama.
Dan
11
Python 3.x setara dengan inipython3 -m http.server
Stefano Palazzo
1
itulah sebabnya saya sangat menyukai stackoverflow. Datang mencari masalah yang tepat di sini Saya ingin menemukan soultion untuk ... menjalankan angularjs dari server web. Terima kasih banyak Florian Deisch
SK176H
24

Saya juga suka menggunakan PHP untuk tujuan ini, karena memungkinkan saya untuk menjalankan hal-hal seperti WordPress on the fly dan mengembangkan tema dengan lebih mudah (Anda masih membutuhkan MySQL, meskipun):

php -S 0.0.0.0:8000

Dalam skrip yang sama yang memulai ini saya juga mulai menjaga , yang secara otomatis me-refresh browser pada perubahan file.

metakermit
sumber
2
Perhatikan bahwa fitur server
bawaan
Ya, Anda memerlukan salah satu versi yang lebih baru. Versi di repo 13.10 jika Anda lakukan sudo apt-get install php5adalah 5.5.3, jadi Anda harus OK.
metakermit
Sempurna! Apa yang saya cari!
Prakash Raman
17

jika Anda lebih berhati-hati ruby, permata melayani sangat bagus

serve

atau untuk port saya berbeda:

serve 9000

instal dengan gem install serve

akan-ob
sumber
Ini berfungsi dengan baik, tetapi membutuhkan ruby> = 1.9.3
Valerio Schiavoni
Yap, tetapi juga 1.9.3 adalah eol . Patch keamanan tidak lagi di-backport. Akan merekomendasikan rvm untuk mengelola rubi lawas. Mereka seharusnya tidak menjadi standar sistem Anda
will-ob
13

Ini juga dimungkinkan di Ruby tanpa memasang permata.

ruby -run -e httpd . -p5000

Steelsouls
sumber
Tidak bekerja untuk saya. Versi ruby ​​mana yang Anda coba?
Valerio Schiavoni
Bekerja seperti yang diiklankan dengan Ruby 2.5.1.
Raphael
6

Cukup gunakan http-server, ini adalah server baris perintah konfigurasi-nol.

Cara termudah untuk menginstalnya adalah melalui npm:

sudo npm install http-server -g

Pemakaian:

http-server [path] [options]

[path]default ke ./publicjika folder ada, dan ./jika tidak.

Untuk melihat server Anda beraksi, kunjungi http: // localhost: 8080 . Gunakan -popsi untuk mengatur port yang berbeda.

Untuk opsi lebih lanjut kunjungi: https://www.npmjs.com/package/http-server .

Luis Ma
sumber
Satu-satunya alasan untuk tidak menggunakan ini adalah karena memerlukan rpm yang tidak diinstal secara asli. Solusi lain yang menyebutkan ruby ​​dan python sudah diinstal sebelumnya di hampir setiap OS, jadi tidak ada prasyarat yang terkait dengan menginstal perintah untuk menjalankan server.
jamescampbell
3

Karena ada angularjs dalam nama folder Anda, sepertinya ini adalah aplikasi js angular. Dalam hal demikian, pastikan untuk memeriksa yeoman keluar.

Mengutip situsnya

Yeoman 1.0 lebih dari sekedar alat. Ini alur kerja; kumpulan alat dan praktik terbaik yang bekerja secara harmonis untuk menjadikan pengembangan web lebih baik.

Salah satu dari banyak hal lainnya adalah gruntserver yang dibundel .

mreq
sumber