Запуск веб-сервера из любого каталога

Я пишу небольшой веб-сайт, но я не хочу, чтобы выяснить, как установить и настроить полный стек LAMP, чтобы протестировать веб-сайт из моего каталога ~ / home. Это будет полностью разрушительным и ненужным.

Все, что я хочу, это иметь каталог, например. ~ / home / Documents / Website и запустите небольшой веб-сервер из этой папки в качестве домашней папки.

Я знаю, что Jekyll (http://jekyllrb.com) может делать что-то подобное, но это похоже, работает с сайтами на основе Ruby / Jekyll, которые он создает и настраивает.

Не существует ли какой-то небольшой программы веб-сервера, которую я могу легко установить, а затем просто запустить очень просто?

Например, если мне просто нужно запустить что-то вроде: simple-server serve ~/home/Documents/Website из командной строки, а затем перейти к, например, [!]

(Если это возможно в Ubuntu, и я просто не знаю, как, пожалуйста, дайте мне знать.)

EDIT: Похоже, читателям гораздо легче игнорировать мой вопрос и проблемы, понизить мой вопрос, а затем просто сказать мне сделать противоположное тому, чего я пытаюсь достичь. Это не конструктивно.

1
задан 6 September 2014 в 01:03

2 ответа

Самый простой способ, которым я знаю, это:

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

Вывод команды скажет вам, какой порт он прослушивает (по умолчанию это 8000). Запустите python3 -m http.server --help, чтобы узнать, какие опции доступны.

Для получения дополнительной информации:

Документация Python на http.server Простой HTTP-сервер (это также упоминает синтаксис python2)
9
ответ дан 24 May 2018 в 03:57
  • 1
    Genius! Спасибо, @muru! По какой-то причине мой порт 8000 используется (я не могу понять, почему), но я просто запустил python3 -m http.server 4000, а затем перешел на localhost:4000 в Firefox и BAM! - мой сайт готов к тестированию! Спасибо! – etsnyman 6 September 2014 в 01:18

То, что вы хотите, называется статическим веб-сервером. Есть много способов добиться этого.

Это перечислены статические веб-серверы

Один простой способ: сохранить ниже сценария как 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");

поставить ваш index.html в тот же каталог и run

 node static_server.js
2
ответ дан 24 May 2018 в 03:57
  • 1
    +1 для списка статических серверов. Должен сказать, что отступ этого кода выглядит очень нечетным. – muru 6 September 2014 в 01:40

Другие вопросы по тегам:

Похожие вопросы: