나는 소위 대중에게 공개하고 싶은 일일 보고서를 생성하는 스크립트를 가지고 있습니다. 문제는 HTTP 서버(예: Apache)의 모든 구성 및 보안 관련 유지 관리를 더 이상 어렵게 만들고 싶지 않다는 것입니다.
전체 HTTP 서버를 구성하지 않고 작은 HTML 페이지를 제공하는 매우 간단한 솔루션이 있습니까?
답변1
노력하다간단한 HTTP 서버:
python3 -m http.server 8080
또는 Python 2의 경우
python -m SimpleHTTPServer 8080
IP 주소를 바인딩하려면 다음을 수행하십시오.
python -m SimpleHTTPServer 8080 -b 0.0.0.0
또는 Python 3의 경우
python3 -m http.server 8080 -b 0.0.0.0
그것은 그 안에 무엇이든 제공할 것입니다연속WD(예: index.html) 위치:http://0.0.0.0:8000.
답변2
하나 있다http 정적 서버의 큰 목록:
이 목록에 포함되려면 솔루션이 다음을 수행해야 합니다.
- 현재 디렉터리(또는 지정된 디렉터리)를 서버 루트 디렉터리로 사용하여 정적 파일 제공
- 단일 한 줄 명령으로 실행하는 기능(일회성인 경우 종속성은 괜찮습니다)
- 적절한 MIME 유형을 사용하여 기본 파일 유형(html, css, js, 이미지)을 제공하고 명령 자체 외에는 구성(파일 등에서)이 필요하지 않습니다(프레임워크별 서버 없음 등).
- 포그라운드에서 실행되거나 실행될 수 있는 모드가 있어야 합니다(예: 데몬 없음).
예를 들어:
-
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"}]}]).'
-
cpan Plack plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
-
webfsd -F -p 8000
-
ruby -run -ehttpd . -p8000
답변3
빠르고 사용하기 쉽습니다 node.js
.
또는
간단한 nc
netcat 명령을 사용하여 포트에서 빠른 웹 서버를 시작하고 파일 콘텐츠(서버 응답 헤더 포함)를 제공하세요.
참고 위키피디아:
{ 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