44 votes

"Serveur web ad-hoc" pour les fichiers statiques sur UNIX/MacOSX ?

Existe-t-il un petit serveur web que je peux invoquer en ligne de commande et qui se contente d'aller chercher les fichiers dans le système de fichiers local et de les servir via HTTP sur un port spécifique ?

J'aimerais pouvoir faire quelque chose comme ça :

$ cd ~/Sites/mysite
$ serve . 10.0.1.1 8080

Cela devrait lancer un serveur web qui écoute sur 10.0.1.1:8080 et sert les fichiers du répertoire courant (".") - pas de PHP, ASP ou autre nécessaire.

Toute suggestion est la bienvenue.

74voto

Mike Axiak Points 6349

Si vous avez installé python :

$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

5voto

Phil Points 1780

$ python -m SimpleHTTPServer [port]

démarrera un serveur web dans le répertoire courant, servant tous les fichiers qui s'y trouvent.

Dans certains cas, cela ne fonctionnera pas bien, par exemple le serveur est monofil (donc pas de téléchargements simultanés) et ne gère pas les demandes de plage d'octets (les clients qui s'attendent à une prise en charge de Range : échouent souvent).

3voto

Bengt Points 2327

Python3 peut servir le répertoire courant via HTTP en utilisant http.server :

$ python3 -m http.server

  • python3 la version actuelle de python
  • -m représente un module
  • http le paquet http
  • http.server le module serveur (du paquet http)

Par défaut, http.server écoute sur le port 8000, mais vous pouvez en spécifier un autre comme ceci :

$ python3 -m http.server 8080

2voto

JBRWilkinson Points 3155

Apache HTTPD est intégré à Mac OS X - il suffit d'activer le "partage Web" dans les préférences de partage.

Pour qu'il fonctionne également sur le port 8080, il faudrait ajouter une configuration. Voir ce qui suit article sur Serverfault pour le point de départ.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X