Vraag Hoe start je eenvoudig een webserver in welke map dan ook?


Ik ben op zoek naar een relatief pijnloze manier om een ​​webserver met documentroot te starten in elke map die ik specificeer (of beter nog, waar ik start).

Ik probeer vaak nieuwe dingen zoals JS-raamwerken of zo ergens hier in een nieuwe map:

/home/alexander/code/angularjs/

Het zou dan handig zijn om gewoon in deze directory te gaan en zoiets als te typen:

start-webserver-here 

zodat een webserver begint te luisteren op poort 80 en deze directory dient, en ik kan uitproberen waar ik mee bezig ben.

Ik heb XAMPP geïnstalleerd, maar het lijkt erop dat het een basisapache is met een documentroot die ik zou moeten veranderen, met root-rechten zelfs, samen met het verlenen van permissies voor elke map enz.

Is er een gemakkelijkere manier?


106
2017-11-15 10:42


oorsprong


Iemand heeft een grote lijst met one liners gecompileerd om dit te bereiken: gist.github.com/willurd/5720255 - Abhinav Bhatia


antwoorden:


Gebruik

python2 -m SimpleHTTPServer 80

of

python3 -m http.server 80

om een ​​eenvoudige HTTP-server te starten.

Vervangen 80 met een ander nummer als u wilt dat het op een andere poort luistert. Voor poorten <1024 moet het worden uitgevoerd met rootprivileges.


160
2017-11-15 10:57



Dit is precies wat ik zocht! Danke! - Alexander Rechsteiner
Kun je dit parallel met Apache uitvoeren? In een andere haven (hoewel ik je zou willen verwelkomen als ik zeg dat ze dezelfde poorten kunnen gebruiken). - dibs
@dibs Ja, ze kunnen allebei parallel lopen. Maar nee, niet op dezelfde poort. - Dan
Het python 3.x equivalent hiervan is python3 -m http.server - Stefano Palazzo♦
dat is waarom ik zo van stackoverflow houd. Ik heb hier het exacte probleem gezocht. Ik wilde een soultion vinden voor ... voer angularjs uit vanaf een webserver. Bedankt Florian Deisch - SK176H


Ik gebruik ook graag PHP voor dit doel, omdat het me in staat stelt dingen zoals WordPress on the fly te laten lopen en thema's gemakkelijker te ontwikkelen (je hebt MySQL nog steeds nodig):

php -S 0.0.0.0:8000

In de hetzelfde script waarmee dit begint, begin ik ook bewaker, die de browser bij bestandswijziging automatisch vernieuwt.


21
2017-11-19 10:32



Merk op dat de ingebouwde serverfunctie was toegevoegd in 5.4.0 - sierrasdetandil
Ja, u hebt een van de nieuwere versies nodig. De versie in de 13.10 repo's als je dat doet sudo apt-get install php5 is 5.5.3, dus je moet OK zijn. - metakermit
Perfect! Precies wat ik zocht! - Prakash Raman


als je meer robijngericht bent, de dienen edelsteen is geweldig

serve

of voor i verschillende poort:

serve 9000

installeren met gem install serve


17
2017-11-15 14:16



Dit werkt prima, maar het vereist robijn> = 1.9.3 - Valerio Schiavoni
Ja, maar ook 1.9.3 is eol. Beveiligingspatches worden niet meer teruggestuurd. Zou aanraden rvm voor het beheren van legacy-robijnen. Ze zouden niet de standaardinstelling van je systeem moeten zijn - will-ob


Dit is ook mogelijk in Ruby zonder een edelsteen te installeren.

ruby -run -e httpd . -p5000


11
2017-11-20 23:22



Werkte niet voor mij. Welke versie van robijn heb je geprobeerd? - Valerio Schiavoni
Werkt zoals geadverteerd met Ruby 2.5.1. - Raphael


Aangezien er angularjs in de naam van je map staat, lijkt het een hoekige js-app. Controleer in een dergelijk geval eigenerfde uit.

Om de site te citeren

Yeoman 1.0 is meer dan alleen een hulpmiddel. Het is een workflow; een verzameling tools en best practices die in harmonie werken om het ontwikkelen voor het web nog beter te maken.

Een van de vele andere dingen is de gebundelde grunt server.


3
2017-11-19 10:37





Gebruik gewoon http-server, het is een commandoserver met nulconfiguratie.

De eenvoudigste manier om het te installeren is via npm:

sudo npm install http-server -g

Gebruik:

http-server [path] [options]

[path] standaard ingesteld op ./public als de map bestaat, en ./ anders.

Om uw server in actiebezoek te zien http: // localhost: 8080. Gebruik -p optie om een ​​andere poort in te stellen.

Voor meer opties bezoek: https://www.npmjs.com/package/http-server.


2
2017-07-04 22:43