web-dev-qa-db-fra.com

Comment démarrer facilement un serveur web dans n’importe quel dossier?

Je cherche un moyen relativement simple de lancer un serveur Web avec la racine du document dans le dossier que je spécifie (ou, mieux encore, le lieu de lancement).

J'essaie souvent de nouvelles choses comme des frameworks JS ou autres dans un nouveau dossier quelque part ici:

/home/alexander/code/angularjs/

Il serait alors pratique de simplement aller dans ce répertoire et de taper quelque chose comme:

start-webserver-here 

de sorte qu'un serveur Web commence à écouter sur le port 80 et à servir ce répertoire, et que je puisse essayer tout ce sur quoi je travaille.

J'ai installé XAMPP mais il semble que ce soit Apache de base avec un root de document que je devrais changer, avec même les privilèges root, avec l'octroi d'autorisations pour chaque dossier, etc.

Y a-t-il un moyen plus facile?

116

Utilisation

python2 -m SimpleHTTPServer 80

ou

python3 -m http.server 80

pour démarrer un serveur HTTP simple.

Remplacez 80 par un autre numéro si vous souhaitez que celui-ci écoute sur un autre port. Pour les ports <1024, il doit être exécuté avec les privilèges root.

173
Florian Diesch

J'aime aussi utiliser PHP à cette fin, car cela me permet d'exécuter des tâches telles que WordPress et de développer plus facilement des thèmes (vous avez toujours besoin de MySQL):

php -S 0.0.0.0:8000

Dans le même script que cela démarre, je commence aussi guard , qui actualise automatiquement le navigateur lors du changement de fichier.

24
metakermit

si vous êtes plutôt Ruby intéressé, le joyau servir est génial

serve

ou pour un port différent:

serve 9000

installer avec gem install serve

17
will-ob

Ceci est également possible dans Ruby sans installer de gemme.

Ruby -run -e httpd . -p5000

13
Steelsouls

Utilisez simplement http-server, il s’agit d’un serveur de ligne de commande à configuration zéro.

Le moyen le plus simple de l'installer est d'utiliser npm:

Sudo npm install http-server -g

Usage:

http-server [path] [options]

[path] est défini par défaut sur ./public si le dossier existe et sur ./ sinon.

Pour voir votre serveur en action, visitez http: // localhost: 808 . Utilisez l'option -p pour définir un autre port.

Pour plus d'options, visitez: https://www.npmjs.com/package/http-server .

6
Luis Ma

Comme il y a angularjs dans le nom de votre dossier, il semble que ce soit une application angular js. Dans ce cas, assurez-vous de vérifier yeoman .

Pour citer son site

Yeoman 1.0 est plus qu'un outil. C'est un flux de travail. une collection d'outils et de meilleures pratiques travaillant en harmonie pour rendre le développement pour le Web encore meilleur.

Le serveur grunt est un des nombreux produits proposés.

3
mreq