Le serveur http.server de Python (ou SimpleHTTPServer pour Python 2) est un excellent moyen de servir le contenu du répertoire actuel à partir de la ligne de commande:
python -m http.server
Cependant, en ce qui concerne les serveurs Web, c'est très lent ...
Il se comporte comme s'il s'agissait d'un seul thread et provoque parfois des erreurs de dépassement de délai lors du chargement des modules JavaScript AMD à l'aide de RequireJS. Le chargement d'une page simple sans images peut prendre de cinq à dix secondes.
Quelle est une alternative plus rapide et tout aussi pratique?
command-line
httpserver
command-line-tool
simplehttpserver
Drew Noakes
la source
la source
git instaweb
.Réponses:
Le serveur http pour node.js est très pratique et beaucoup plus rapide que SimpleHTTPServer de Python. Cela est principalement dû au fait qu'il utilise des E / S asynchrones pour le traitement simultané des demandes, au lieu de sérialiser les demandes.
Installation
Installez node.js si vous ne l'avez pas déjà fait. Utilisez ensuite le gestionnaire de packages de nœuds (
npm
) pour installer le package, en utilisant l'-g
option pour installer globalement. Si vous êtes sous Windows, vous aurez besoin d'une invite avec des autorisations d'administrateur, et sous Linux / OSX, vous voudrezsudo
la commande:Cela téléchargera toutes les dépendances requises et installera
http-server
.Utilisation
Maintenant, à partir de n'importe quel répertoire, vous pouvez taper:
Le chemin est facultatif, par défaut
./public
s'il existe, sinon./
.Les options sont [par défaut]:
-p
Le numéro de port à écouter sur [8080]-a
L'adresse d'hôte à laquelle se lier à [localhost]-i
Afficher les pages d'index du répertoire [Vrai]-s
ou le--silent
mode silencieux ne se connecte pas à la console-h
ou--help
Affiche un message d'aide et quitteDonc, pour servir le répertoire actuel sur le port 8000, tapez:
la source
-g
option et vous êtes-vous assuré qu'aucune erreur n'a été imprimée lors de l'installation? Cette erreur signifie simplement qu'elle ne peut pas être trouvée après l'installation, ce qui semble peu probable si les choses se sont bien passées. Sur quelle plateforme êtes-vous? Exécutez une commande find sur votre lecteur pour rechercher un fichier avec un nomhttp-server
. Je l'ai utilisé avec succès sur quelques distributions Linux différentes et versions Windows.Je recommande: Twisted ( http://twistedmatrix.com )
Il est multiplateforme et a été préinstallé sur OS X 10.5 à 10.12. Entre autres, vous pouvez démarrer un simple serveur Web dans le répertoire courant avec:
Détails
Explication des options (voir
twistd --help
pour en savoir plus):"web" est une commande qui exécute un serveur Web simple au-dessus du moteur asynchrone Twisted. Il accepte également les options de ligne de commande (après la commande "web" - voir
twistd web --help
pour en savoir plus):Il existe également un tas d'autres commandes telles que:
Installation
Ubuntu
Mac OS-X (vient préinstallé sur 10.5 - 10.12, ou est disponible dans MacPorts et via Pip)
les fenêtres
HTTPS
Twisted peut également utiliser des certificats de sécurité pour crypter la connexion. Utilisez-le avec vos options existantes
--path
et--port
(pour le HTTP simple).la source
sudo apt-get install python-twisted-web
abord. (Merci pour cette réponse, c'est très pratique!)twistd --help
ettwistd web --help
. Cela m'a pris un certain temps pour comprendre cela.aller1.0 comprend un serveur http & util pour servir des fichiers avec quelques lignes de code.
Exécutez cette source en utilisant
go run myserver.go
ou pour construire un exécutablego build myserver.go
la source
Essayez webfs , il est minuscule et ne dépend pas de l'installation d'une plateforme comme node.js ou python.
la source
apt-get install webfs
brew install webfs
sur mon Mac qui en a résulté🍺 /usr/local/Cellar/webfs/1.21: 5 files, 96K, built in 15 seconds
. Ensuite, je pourrais simplement direwebfsd -F -p 3003 -r resources/public/ -f index.html
de réaliser la même chose quetwistd -no web -p 3003 --path=resources/public/
. C'est un peu verbeux donc pas évident à retenir mais bon à savoir comme alternative à twistd ou SimpleHTTPServer.Si vous utilisez Mercurial, vous pouvez utiliser le serveur HTTP intégré. Dans le dossier que vous souhaitez servir:
De la documentation :
la source
En voici un autre. C'est une extension Chrome
Une fois installé, vous pouvez l'exécuter en créant un nouvel onglet dans Chrome et en cliquant sur le bouton des applications en haut à gauche
Il a un simple gui. Cliquez sur choisir un dossier, puis sur le
http://127.0.0.1:8887
lienhttps://www.youtube.com/watch?v=AK6swHiPtew
la source
Considérez également devd un petit serveur web écrit en go. Des fichiers binaires pour de nombreuses plateformes sont disponibles ici .
Il est petit, rapide et offre des fonctionnalités optionnelles intéressantes comme le rechargement en direct lorsque vos fichiers changent.
la source
J'ai trouvé
python -m http.server
peu fiable - certaines réponses prenaient quelques secondes.Maintenant, j'utilise un serveur appelé Ran https://github.com/m3ng9i/ran
la source
essayez Polpetta ...
Ensuite vous pouvez
et vous êtes prêt à partir :-)
la source
Utiliser Servez comme serveur
http://localhost:8080
ou choisissez "Lancer le navigateur"Remarque: J'ai jeté cela ensemble parce que Web Server pour Chrome disparaît car Chrome supprime la prise en charge des applications et parce que je prends en charge les étudiants en art qui n'ont aucune expérience de la ligne de commande
la source
J'aime le live-server . Il est rapide et possède une belle fonction de rechargement en direct, ce qui est très pratique pendant le développement.
L'utilisation est très simple:
Par défaut, il crée un serveur avec IP 127.0.0.1 et le port 8080.
http://127.0.0.1:8080/
Si le port 8080 n'est pas libre, il utilise un autre port:
http://127.0.0.1:52749/
http://127.0.0.1:52858/
Si vous devez voir le serveur Web sur d'autres machines de votre réseau local, vous pouvez vérifier quelle est votre adresse IP et utiliser:
Et voici un script qui récupère automatiquement l'adresse IP de l'interface par défaut. Il fonctionne uniquement sur macOS .
Si vous le placez
.bash_profile
, lalive-server
commande lancera automatiquement le serveur avec l'adresse IP correcte.la source
Si vous avez installé PHP, vous pouvez utiliser le serveur intégré.
la source
Encore un autre serveur de ligne de commande simple basé sur un nœud
https://github.com/greggman/servez-cli
Écrit en partie en réponse à des problèmes de serveur http, en particulier sur Windows.
installation
Installez node.js puis
usage
Sans chemin, il sert le dossier actuel.
Par défaut, il sert
index.html
pour les chemins de dossier s'il existe. Sinon, il sert une liste de répertoires pour les dossiers. Il sert également les en-têtes CORS. Vous pouvez éventuellement activer l'authentification de base avec--username=somename --password=somepass
et vous pouvez servir https.la source