[PYTHON] So richten Sie einen lokalen Entwicklungsserver ein

Einführung

Ich werde so rudimentär wie möglich erklären, wie ein Teil des Dateisystems auf einem lokalen Server eingerichtet und über einen Browser darauf zugegriffen wird, um den Betrieb der Webanwendungsentwicklung zu überprüfen.

Für Python

Dies ist einfach, wenn in Ihrer Umgebung Python ausgeführt wird. Die Standard-Python-Bibliothek verfügt über ein dediziertes Modul, das direkt über die Befehlszeile gestartet werden kann. Die Modulnamen unterscheiden sich zwischen Python 2 und 3, daher werde ich sie jeweils erläutern.

Python 2 verwendet Simple HTTP Server. Wenn die Portnummer weggelassen wird, werden 8000 verwendet.

$ python -m SimpleHTTPServer [Portnummer (Standard ist 8000)]

Python 3 verwendet http.server.

$ python3 -m http.server [Portnummer (Standard ist 8000)]

Wenn Sie nun über Ihren Browser auf "http: // localhost: 8000" (oder nur "localhost: 8000") zugreifen, startet der Server mit dem gestarteten Verzeichnis als Stammverzeichnis. Es reagiert auf den Zugriff auf das Verzeichnis wie folgt (wie das Standardverhalten des Apache-Servers):

Beenden Sie den Server mit Strg-C.

Für Ruby

Seit Ruby 1.9.3 gibt es im Kernel-Modul eine httpd-Funktion, die wie folgt über die Befehlszeile gestartet werden kann. Die Funktion ist dieselbe wie bei Python.

$ ruby -run -e httpd . -p 8000

Eigentlich wusste ich das bis jetzt nicht und fand es in den zugehörigen Posts, die unmittelbar nach dem Hochladen des ersten Entwurfs angezeigt wurden (ich habe unmittelbar danach einen Kommentar von udzura erhalten. Danke). Wenn Sie jedoch ein Ruby-Programmierer sind, empfehle ich dennoch die folgende Methode.

Ich bin ein Ruby-Programmierer und verwende immer das Juwel Rack (Ruby vor 1.9.3 ist ebenfalls akzeptabel). Installieren Sie zuerst das Rack.

Rack wird von vielen Ruby-Frameworks verwendet. Insbesondere wenn Sie Ruby on Rails installiert haben, müssen Sie dies nicht tun.

$ [sudo] gem install rack

sudo ist erforderlich, wenn Sie Ruby in Ihrem Systemverzeichnis installiert haben. (Ich benutze) rbenv und RVM Nicht erforderlich, wenn Sie das Versionswechsel-Tool verwenden.

Erstellen Sie als Nächstes eine kleine Datei mit dem Namen "config.ru" in dem Verzeichnis, in dem Sie den Server starten. Der Inhalt ist nur die folgende Zeile.

config.ru


run Rack::Directory.new '.'

Sie sind jetzt bereit. Starten Sie es schließlich mit dem Befehl rampup (das folgende ist ein Startbeispiel). Die Standardportnummer ist 9292, was "Rackup -p 8000" ist (Beispiel).

$ rackup
[2014-04-01 14:18:53] INFO  WEBrick 1.3.1
[2014-04-01 14:18:53] INFO  ruby 1.9.3 (2013-06-27) [i686-linux]
[2014-04-01 14:18:53] INFO  WEBrick::HTTPServer#start: pid=5814 port=9292

Beachten Sie, dass für den Zugriff auf ein Verzeichnis immer eine Verzeichnisliste zurückgegeben wird (auch wenn index.html vorhanden ist, wird sie als eine der Dateien aufgeführt). Dies sollte für die Entwicklung ausreichen. Einmal eingestellt, müssen Sie nur noch "Rackup" ausführen.

Der Vorteil von Rack ist, dass Sie es beliebig anpassen können, sodass Sie flexibel Ruby-Code für die serverseitige Programmierung in config.ru schreiben können. Dies würde jedoch den Rahmen dieses Artikels sprengen, sodass detaillierte Erklärungen weggelassen werden.

Die Serverseite meiner neuesten Arbeit "Weather Data Map" wurde ebenfalls mit Rack erstellt. Ich möchte die Möglichkeit haben, Rack später separat zu erklären.

Für Node.js.

Ich bin mit Node.js nicht sehr vertraut, aber ich kenne jemanden, der einen lokalen Server für Node.js erstellt, daher werde ich ihn vorstellen (ich habe auch den Vorgang bestätigt). Für Details lesen Sie bitte die Erklärung auf der folgenden Seite.

https://github.com/shimizu/SimpleWebServer

Ich habe sofort nach dem Posten einen Kommentar von ka_ erhalten. Es scheint, dass es einige Knotenmodule gibt.

Die Kommentare von Ka_ sind gut organisiert. Weitere Informationen finden Sie hier.

Für PHP

Ich habe einen Kommentar zur PHP-Version von kimama1997 erhalten, daher werde ich ihn hinzufügen (PHP 5.4+). Weitere Informationen finden Sie im Kommentarbereich.

$ php -S localhost:3000

Ich habe übrigens Erfahrung mit PHP, verwende es jedoch derzeit nicht und habe es nicht in meiner aktuellen Entwicklungsumgebung installiert.

Recommended Posts

So richten Sie einen lokalen Entwicklungsserver ein
Richten Sie einen lokalen Server mit Go-File-Upload ein.
Richten Sie einen lokalen Server mit Go-File-Download ein.
Richten Sie einen einfachen lokalen Server auf Ihrem Mac ein
Verwendung des lokalen Entwicklungsservers von App Engine, dev_appserver.py
So richten Sie SVM mit Optuna ein
So stellen Sie die Serverzeit auf japanische Zeit ein
So richten Sie die Entwicklungsumgebung von ev3dev ein [Windows-Version]
So richten Sie einen einfachen SMTP-Server ein, der lokal in Python getestet werden kann
Richten Sie mit Python 3 einen einfachen HTTPS-Server ein
Richten Sie einen einfachen HTTPS-Server mit Asyncio ein
So richten Sie eine zufällige Gesamtstruktur mit Optuna ein
Senden Sie E-Mails mit mailx an einen mit Python eingerichteten Dummy-SMTP-Server.
Richten Sie einen Test-SMTP-Server in Python ein.
Richten Sie einen UDP-Server in der Sprache C ein
So richten Sie ein Jupyter-Notebook am SSH-Ziel ein (AWS EC2)
Richten Sie mit http.server in Python 3 in 30 Sekunden einen lokalen Webserver ein
[Hinweis] So erstellen Sie eine Ruby-Entwicklungsumgebung
Richten Sie einen einfachen SMTP-Server in Python ein
Richten Sie eine Python-Entwicklungsumgebung auf Marvericks ein
[Entwicklungsumgebung] So erstellen Sie einen Datensatz in der Nähe der Produktionsdatenbank
[Hinweis] So erstellen Sie eine Mac-Entwicklungsumgebung
[Python] So erstellen Sie eine lokale Webserverumgebung mit SimpleHTTPServer und CGIHTTPServer
Richten Sie eine Entwicklungsumgebung für die Verarbeitung natürlicher Sprache ein
Richten Sie einen Minecraft-Ressourcenserver (Spigot) über Docker (2) ein.
Richten Sie mit Samba einen Dateiserver unter Ubuntu 20.04 ein
Richten Sie in 30 Minuten einen kostenlosen Server unter AWS ein
[Teil 1] Lassen Sie uns einen Micra-Server unter Linux einrichten
So erstellen Sie ein lokales Repository für Linux
So erstellen Sie eine Entwicklungsumgebung für TensorFlow (1.0.0) (Mac)
So erstellen Sie ein einfaches TCP-Server / Client-Skript
Richten Sie einen Minecraft-Ressourcenserver (Spigot) über Docker ein
So führen Sie Django unter IIS auf einem Windows-Server aus
So richten Sie die Cython-Umgebung ein und kompilieren sie
Richten Sie mit Sublime Text 2 eine Python-Entwicklungsumgebung ein
[Vagrant] Richten Sie einen einfachen API-Server mit Python ein
So rufen Sie eine Funktion auf
So bereiten Sie die Umgebung mit Courseras fortgeschrittenem Kurs für maschinelles Lernen auf Google Colab vor
So richten Sie ein VPN-Gateway ein, um eine Verbindung zwischen Alibaba Cloud und AWS herzustellen
Ich möchte mit swagger-codegen in Sekundenschnelle einen Mock-Server für Python-Flask einrichten.
Verwendung von GitHub auf einem Server für mehrere Personen ohne Kennwort
Richten Sie eine Python-Entwicklungsumgebung mit Visual Studio Code ein
So importieren Sie die in EFS eingerichtete Python-Bibliothek in Lambda
Richten Sie einen Webserver mit CentOS7 + Anaconda + Django + Apache ein
So geben Sie das öffentliche Verzeichnis Python Simple HTTP Server an
[Python Kivy] So erstellen Sie ein einfaches Popup-Fenster
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
So richten Sie WSL2 unter Windows 10 ein und erstellen eine Lernumgebung für Linux-Befehle
Ich möchte eine GUI-Entwicklungsumgebung mit Python oder Golang auf dem Mac einrichten
Wie man einen lockeren Bot macht
So erstellen Sie ein Conda-Paket
Wie erstelle ich einen Crawler?
So erstellen Sie eine rekursive Funktion
So erstellen Sie eine virtuelle Brücke
Wie erstelle ich eine Docker-Datei?
[Blender] So erstellen Sie ein Blender-Plug-In
So löschen Sie einen Docker-Container
So beschleunigen Sie Python-Berechnungen
Wie erstelle ich einen Crawler?