간단한 명령 행 HTTP 서버 유지 관리에 추가하고 싶지

소위 일반 대중에게 제공하려는 일일 보고서를 생성하는 스크립트가 있습니다. 문제는 모든 구성과 보안 영향으로 HTTP 서버 (예 : Apache)의 두통 유지 관리에 추가하고 싶지 않다는 것입니다.

완전한 HTTP 서버를 구성하지 않고도 하나의 작은 HTML 페이지를 제공하는 데 도움이되는 간단한 솔루션이 있습니까?



답변

네, nweb.

여기에서 찾을 수 있습니다 : nweb.c

(이전 ibm.com에서 )

nweb.c를 컴파일하려면 :

gcc -O -DLINUX nweb.c -o nweb


답변

SimpleHTTPServer를 사용해보십시오 :

python -m SimpleHTTPServer
# or the Python 3 equivalent
python3 -m http.server

CWD (예 : index.html)의 http://0.0.0.0:8000 에있는 모든 것을 제공해야합니다 .


답변

http 정적 서버 one-liners큰 목록 이 있습니다 .

이 목록을 얻으려면 솔루션이 다음을 수행해야합니다.

  1. 현재 디렉토리 (또는 지정된 디렉토리)를 서버 루트로 사용하여 정적 파일 제공
  2. 한 줄 명령으로 실행할 수 있습니다 (한 번만 사용하면 종속성이 좋습니다)
  3. 적절한 MIME 유형으로 기본 파일 유형 (html, css, js, 이미지)을 제공하고, 명령 자체 이외의 구성은 필요하지 않습니다 (프레임 워크 별 서버 등이 아님).
  4. 포 그라운드에서 실행되거나 실행 가능한 모드가 있어야합니다 (예 : 데몬 없음)

예를 들면 다음과 같습니다.

  • 꼬인 (파이썬)

    twistd -n web -p 8000 --path .
    
  • 얼랭 :

    erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'
    
  • Plack (펄)

    cpan Plack
    plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
    
  • webfs

    webfsd -F -p 8000
    
  • 루비 1.9.2+

    ruby -run -ehttpd . -p8000
    

답변

node.js빠르고 가볍고 사용하십시오 .

또는

간단한 ncnetcat 명령을 사용 하여 포트에서 빠른 웹 서버를 시작하고 서버 응답 헤더를 포함한 파일의 내용을 제공하십시오.

Wikipedia에서 참조 :

http://en.wikipedia.org/wiki/Netcat#Setting_up_a_one-shot_webserver_on_port_8080_to_present_the_content_of_a_file

{ echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat some.file; } | nc -l -p 8080
{ echo -ne "HTTP/1.0 200 OK\r\nContent-Length: $(wc -c <some.file)\r\n\r\n"; cat some.file; } | nc -l -p 8080


답변

버전 5.4.0부터 PHP에는 내장 웹 서버가 있습니다 .

php -S localhost:8000

다음과 같이 웹 서버의 문서 디렉토리를 지정할 수 있습니다 -t.

php -S localhost:8000 -t /var/lib/www

네트워크를 통해 서버에 액세스하려면 다음을 수행하십시오.

php -S 0.0.0.0:8000 -t /var/lib/www


답변

노드에는 간단하고 빠르고 가벼운 HTTP 서버 모듈이 있습니다. 설치하기 위해서:

sudo npm install http-server -g

(당신이 가정 node하고 npm이미 설치되어 있어야합니다.)

현재 디렉토리를 웹 사이트 루트로 사용하여 실행하려면 다음을 수행하십시오.

http-server

에 서버가 생성됩니다 http://0.0.0.0:8080/.


답변

SimpleHTTPServer파이썬에서 사용해보십시오 .

mkdir ~/public_html
command_to_generate_output > ~/public_html/output.txt

(cd ~/public_html; python -c 'import SimpleHTTPServer,BaseHTTPServer; BaseHTTPServer.HTTPServer(("", 8080), SimpleHTTPServer.SimpleHTTPRequestHandler).serve_forever()')

처음 두 줄은 웹 서버에 설정됩니다. 마지막 행은 포트 8080에서 열린 간단한 웹 서버를 작성합니다.이 서버는의 파일 만 제공합니다 ~/public_html. 해당 디렉토리에 파일이 하나만 있으면 노출 http://localhost:8080/output.txt됩니다..