모든 디렉토리에서 웹 서버를 실행하십시오.


9

작은 웹 사이트를 작성하고 있지만 ~/home디렉토리 에서 웹 사이트를 테스트하기 위해 전체 LAMP 스택을 설치하고 구성하는 방법을 알고 싶지 않습니다 . 그것은 완전히 파괴적이고 불필요 할 것입니다.

내가 원하는 것은 디렉토리를 갖는 것입니다. 예를 들어 ~/home/Documents/Website웹 사이트의 "홈"폴더로 해당 폴더에서 작은 웹 서버를 실행합니다.

나는 Jekyll 이 비슷한 것을 할 수 있다는 것을 알고 있지만, 빌드하고 구성하는 Ruby / Jekyll 기반 사이트에서만 작동하는 것 같습니다.

쉽게 설치하고 아주 간단하게 실행할 수있는 작은 웹 서버 프로그램이 없습니까?

예를 들어, simple-server serve ~/home/Documents/Website명령 줄에서 예를 들어 localhost:4000사이트를 테스트 할 대상을 찾아야한다면 완벽 할 것입니다.

우분투에서 이미 가능하고 어떻게하는지 모르겠다면 알려주십시오.


파일의 어떤 종류의 당신이 있습니까 php python또는 일반 html?
Dan

@ dan08 현재로서는 평범 html하고 css. NodeJS나중에 추가하고 싶을 수도 있지만 다른 설정을 사용합니다.
etsnyman

따라서 서버가 없어도 웹 브라우저에서 열 수 있습니다.
Dan

질문을 명확히 할 수 있습니까? / var / www / html에서 문서를 제공하는 것이 훨씬 더 쉽다. 그러면 홈 디렉토리에서 온 것이다. 어느 쪽이든 mysql, php 또는 기타 필요한 것들과 함께 Apache를 설치하십시오. / va / www / html을 사용하려면 파일을 복사하십시오. 홈 디렉토리를 사용 가능하게하거나 아파치 구성 파일을 편집해야하기 때문에 홈 디렉토리에서 파일을 제공하도록 Apache를 구성하는 것이 더 많은 작업입니다. 두 위치 모두 www-data에서 사용할 수있는 디렉토리 / 파일이 있어야합니다. 나는 당신이 그렇게 어려운 것을 이해하지 못합니다.
Panther

@ dan08 file://주소가 아닌 주소 에서 서비스를 제공하는 데 한계가 http://있습니다. 일부 링크와 작은 자바 스크립트 스 니펫은 작동하지 않습니다.
etsnyman

답변:


10

PHP가 설치되어 있다면 PHP 내장 서버를 사용하여 html / css 및 / 또는 php 파일을 실행할 수 있습니다.

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

출력으로 얻을 수 있습니다 :

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

12

내가 아는 가장 간단한 방법은 다음과 같습니다.

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

명령의 출력은 수신중인 포트를 알려줍니다 (기본값은 8000입니다). python3 -m http.server --help사용 가능한 옵션을 보려면 실행 하십시오.

자세한 내용은:

  1. 파이썬 문서 http.server
  2. 간단한 HTTP 서버 ( python2구문 도 언급 )

천재! 감사합니다, @muru! 어떤 이유로 든 포트 8000이 사용 중이지만 (이유를 알 수 없음) Firefox와 BAM에서 실행 python3 -m http.server 4000한 다음 탐색했습니다 localhost:4000! -내 웹 사이트를 테스트 할 준비가되었습니다! 감사합니다!
etsnyman

2

원하는 것을 정적 웹 서버 라고 합니다 . 이를 달성하는 방법에는 여러 가지가 있습니다.

정적 웹 서버에 나열되어 있습니다

간단한 방법 : 스크립트 아래에 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같은 디렉토리 및 실행에

 node static_server.js

정적 서버 목록의 경우 +1 그 코드의 들여 쓰기는 매우 이상하게 보입니다 .
muru

0

설치 로컬 웹 서버 , 그것은 설치 ws정적 사이트로 디렉토리 서비스를 제공하기 위해 실행할 수있는 명령을 사용합니다.

-이 클립은 정적 호스팅 플러스 로그 출력 형식의 몇 가지 보여 devstats.

정적 정적 로그 출력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.