web-dev-qa-db-fra.com

Exécuter un serveur Web depuis n'importe quel répertoire

J'écris un petit site Web, mais je ne veux PAS comprendre comment installer et configurer une pile LAMP complète pour tester le site Web à partir de mon répertoire ~/home. Ce sera complètement perturbant et inutile.

Tout ce que je veux, c'est avoir un répertoire, par exemple. ~/home/Documents/Website et exécutez un petit serveur Web à partir de ce dossier en tant que dossier "home" du site Web.

Je sais que Jekyll peut faire quelque chose de similaire, mais cela ne semble fonctionner qu'avec les sites basés sur Ruby/Jekyll qu'il construit et configure.

N'y a-t-il pas un petit programme de serveur Web que je peux facilement installer puis exécuter très simplement?

Par exemple, si je voulais juste exécuter quelque chose comme par exemple. simple-server serve ~/home/Documents/Website à partir d'une ligne de commande, puis accédez par exemple à. localhost:4000 ou quoi que ce soit pour tester le site, ce serait parfait.

Si cela est déjà possible dans Ubuntu et que je ne sais pas comment, laissez-moi savoir.

9
etsnyman

Si vous avez installé php, vous pouvez utiliser le serveur php intégré pour exécuter les fichiers html/css et/ou php:

cd /path/to/your/app
php -S localhost:8000

En sortie, vous obtiendrez:

Listening on localhost:8000
Document root is /path/to/your/app
10
storm

Le moyen le plus simple que je connaisse est:

cd /path/to/web-data
python3 -m http.server

La sortie de la commande vous indiquera le port sur lequel elle écoute (la valeur par défaut est 8000, je pense). Exécutez python3 -m http.server --help pour voir quelles options sont disponibles.

Pour plus d'informations:

  1. Documentation Python sur http.server
  2. serveur HTTP simple (ceci mentionne également la syntaxe python2)
11
muru

Ce que vous voulez s'appelle serveur Web statique . Il y a plusieurs façons d'y parvenir.

C'est listé serveurs web statiques

Un moyen simple: enregistrer le script ci-dessous sous le nom static_server.js

   var http = require("http"),
     url = require("url"),
     path = require("path"),
     fs = require("fs")
     port = process.argv[2] || 8888;

 http.createServer(function(request, response) {

   var uri = url.parse(request.url).pathname
     , filename = path.join(process.cwd(), uri);

   path.exists(filename, function(exists) {
     if(!exists) {
       response.writeHead(404, {"Content-Type": "text/plain"});
       response.write("404 Not Found\n");
       response.end();
       return;
     }

     if (fs.statSync(filename).isDirectory()) filename += '/index.html';

     fs.readFile(filename, "binary", function(err, file) {
       if(err) {        
         response.writeHead(500, {"Content-Type": "text/plain"});
         response.write(err + "\n");
         response.end();
         return;
       }

       response.writeHead(200);
       response.write(file, "binary");
       response.end();
     });
   });
 }).listen(parseInt(port, 10));

 console.log("Static file server running at\n  => http://localhost:" + port + "/\nCTRL + C to shutdown");

placez votre index.html dans le même répertoire et lancez

 node static_server.js
2
kenn

Install local-web-server , il installe la commande ws que vous pouvez exécuter pour servir n’importe quel répertoire en tant que site statique.

Ce clip illustre l’hébergement statique ainsi que quelques formats de sortie de journal - dev et stats.

Static static log output

0
Lloyd