Python의 http.server (또는 Python 2 용 SimpleHTTPServer)는 명령 행에서 현재 디렉토리의 컨텐츠를 제공하는 좋은 방법입니다.
python -m http.server
그러나 웹 서버에 관한 한, 그것은 매우 슬로프입니다 …
마치 단일 스레드 인 것처럼 동작하며 RequireJS를 사용하여 JavaScript AMD 모듈을로드 할 때 때때로 시간 초과 오류가 발생합니다. 이미지가없는 간단한 페이지를로드하는 데 5-10 초가 걸릴 수 있습니다.
편리한 빠른 대안은 무엇입니까?
답변
node.js에 대한 http-server 는 매우 편리하며 Python의 SimpleHTTPServer보다 훨씬 빠릅니다. 이는 주로 요청을 직렬화하는 대신 요청을 동시에 처리하기 위해 비동기 IO를 사용하기 때문입니다.
설치
node.js를 설치하지 않았다면 설치하십시오. 그런 다음 노드 패키지 관리자 ( npm
)를 사용하여 전체 -g
설치 옵션을 사용하여 패키지를 설치하십시오 . Windows를 사용하는 경우 관리자 권한의 프롬프트가 필요하며 Linux / OSX에서는 다음 sudo
명령을 원할 것입니다 .
npm install http-server -g
필요한 모든 종속성을 다운로드하고 설치 http-server
합니다.
사용하다
이제 모든 디렉토리에서 다음을 입력 할 수 있습니다.
http-server [path] [options]
Path는 선택 사항이며 ./public
존재 하는 경우 기본값 이며 그렇지 않은 경우 기본값 ./
입니다.
옵션은 [기본값]입니다.
-p
수신 대기하는 포트 번호 [8080]-a
[localhost]에 바인딩 할 호스트 주소-i
디렉토리 색인 페이지 표시 [True]-s
또는--silent
자동 모드가 콘솔에 기록되지 않습니다-h
또는--help
도움말 메시지를 표시하고 종료합니다
포트 8000에서 현재 디렉토리를 제공하려면 다음을 입력하십시오.
http-server -p 8000
답변
나는 추천한다 : Twisted ( http://twistedmatrix.com )
파이썬으로 작성되고 오픈 소스 MIT 라이센스에 따라 라이센스가 부여 된 이벤트 중심 네트워킹 엔진.
크로스 플랫폼이며 OS X 10.5 ~ 10.12에 사전 설치되었습니다. 무엇보다도 다음을 사용하여 현재 디렉토리에서 간단한 웹 서버를 시작할 수 있습니다.
twistd -no web --path=.
세부
옵션 설명 (자세한 내용 twistd --help
은 참조) :
-n, --nodaemon don't daemonize, don't use default umask of 0077
-o, --no_save do not save state on shutdown
“web”은 Twisted 비동기 엔진 위에서 간단한 웹 서버를 실행하는 명령입니다. 또한 “web”명령 다음에 명령 행 옵션을 사용할 수 있습니다 twistd web --help
. 자세한 내용은 다음 을 참조하십시오 .
--path= <path> is either a specific file or a directory to be
set as the root of the web server. Use this if you
have a directory full of HTML, cgi, php3, epy, or rpy
files or any other files that you want to be served up
raw.
다음과 같은 다른 명령들도 있습니다 :
conch A Conch SSH service.
dns A domain name server.
ftp An FTP server.
inetd An inetd(8) replacement.
mail An email service
... etc
설치
우분투
sudo apt-get install python-twisted-web (or python-twisted for the full engine)
Mac OS-X (10.5-10.12에 사전 설치되어 있거나 MacPorts 및 Pip에서 사용 가능)
sudo port install py-twisted
윈도우
installer available for download at http://twistedmatrix.com/
HTTPS
트위스트는 보안 인증서를 사용하여 연결을 암호화 할 수도 있습니다. 기존 --path
및 --port
(일반 HTTP 용) 옵션 과 함께 사용하십시오 .
twistd -no web -c cert.pem -k privkey.pem --https=4433
답변
가다1.0에는 몇 줄의 코드로 파일을 제공하기위한 http 서버 및 util이 포함되어 있습니다.
package main
import (
"fmt"; "log"; "net/http"
)
func main() {
fmt.Println("Serving files in the current directory on port 8080")
http.Handle("/", http.FileServer(http.Dir(".")))
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
go run myserver.go
또는 실행 파일을 사용하여이 소스를 실행하십시오.go build myserver.go
답변
webfs를 사용해보십시오. 작고 node.js 또는 python과 같은 플랫폼을 설치하는 것에 의존하지 않습니다.
답변
Mercurial을 사용하는 경우 내장 HTTP 서버를 사용할 수 있습니다. 제공하려는 폴더에서 :
hg serve
에서 워드 프로세서 :
export the repository via HTTP
Start a local HTTP repository browser and pull server.
By default, the server logs accesses to stdout and errors to
stderr. Use the "-A" and "-E" options to log to files.
options:
-A --accesslog name of access log file to write to
-d --daemon run server in background
--daemon-pipefds used internally by daemon mode
-E --errorlog name of error log file to write to
-p --port port to listen on (default: 8000)
-a --address address to listen on (default: all interfaces)
--prefix prefix path to serve from (default: server root)
-n --name name to show in web pages (default: working dir)
--webdir-conf name of the webdir config file (serve more than one repo)
--pid-file name of file to write process ID to
--stdio for remote clients
-t --templates web templates to use
--style template style to use
-6 --ipv6 use IPv6 in addition to IPv4
--certificate SSL certificate file
use "hg -v help serve" to show global options
답변
여기 또 다른 것이 있습니다. Chrome 확장 프로그램입니다
설치되면 Chrome에서 새 탭을 만들고 왼쪽 상단 근처의 앱 버튼을 클릭하여 실행할 수 있습니다.
간단한 GUI가 있습니다. 폴더 선택을 클릭 한 다음 http://127.0.0.1:8887
링크 를 클릭하십시오