Wie starte ich einen Webserver in einem beliebigen Ordner?

104

Ich bin auf der Suche nach einer relativ schmerzlosen Möglichkeit, einen Web-Server mit Dokumenten-Root in einem von mir angegebenen Ordner (oder besser, wo ich ihn starte) zu starten.

Ich probiere oft neue Dinge wie JS-Frameworks oder so in einem neuen Ordner hier aus:

/home/alexander/code/angularjs/

Es wäre dann praktisch, einfach in dieses Verzeichnis zu gehen und etwas wie folgt einzugeben:

start-webserver-here 

, damit ein Web-Server an Port 80 hört und dieses Verzeichnis bedient, und ich kann ausprobieren, woran ich gerade arbeite.

Ich habe XAMPP installiert, aber es scheint, dass es ein einfacher Apache mit einem Dokumenten-Root ist, den ich ändern müsste, mit root-Rechten sogar, zusammen mit dem Erteilen von Berechtigungen für jeden Ordner usw.

Gibt es einen einfacheren Weg?

    
Alexander Rechsteiner 15.11.2013, 11:42

6 Antworten

157

Verwenden Sie

python2 -m SimpleHTTPServer 80

oder

python3 -m http.server 80

um einen einfachen HTTP-Server zu starten.

Ersetzen Sie 80 durch eine andere Nummer, wenn Sie möchten, dass es auf einem anderen Port hört. Für Ports & lt; 1024 muss mit root-Rechten ausgeführt werden.

    
Florian Diesch 15.11.2013, 11:57
21

Ich benutze auch gerne PHP für diesen Zweck, da es mir ermöglicht, Dinge wie WordPress im laufenden Betrieb auszuführen und Themen einfacher zu entwickeln (Sie brauchen aber immer noch MySQL):

php -S 0.0.0.0:8000

Im selben Skript , das das startet, starte ich auch guard , das den Browser bei Dateiänderungen automatisch aktualisiert.

    
metakermit 19.11.2013 11:32
17

Wenn Sie rubinengerechter sind, ist das Servieren Juwel großartig

serve

oder für einen anderen Port:

serve 9000

installiere mit gem install serve

    
will-ob 15.11.2013 15:16
11

Dies ist auch in Ruby möglich, ohne ein Juwel zu installieren.

ruby -run -e httpd . -p5000

    
Steelsouls 21.11.2013 00:22
3

Da im Namen Ihres Ordners angularjs angezeigt wird, scheint es sich um eine eckige js-App zu handeln. In diesem Fall sollten Sie yeoman überprüfen.

Um es zu zitieren ist

  

Yeoman 1.0 ist mehr als nur ein Werkzeug. Es ist ein Workflow; eine Sammlung von Tools und Best Practices, die harmonisch zusammenarbeiten, um die Entwicklung für das Web noch besser zu machen.

Eines der vielen anderen Dinge ist der gebündelte grunt Server.

    
mreq 19.11.2013 11:37
1

Verwenden Sie einfach http-server , das ist ein Befehlszeilenserver ohne Konfiguration.

Der einfachste Weg zur Installation ist über npm:

sudo npm install http-server -g

Verwendung:

http-server [path] [options]

[path] wird standardmäßig auf ./public gesetzt, wenn der Ordner existiert, und ./ ansonsten.

Um Ihren Server in Aktion zu sehen, besuchen Sie Pfandrecht . Verwenden Sie die Option -p , um einen anderen Port festzulegen.

Weitere Optionen finden Sie unter Pfandrecht .

    
Luis Ma 05.07.2018 00:43

Tags und Links