Serwer http Pythona (lub SimpleHTTPServer dla Pythona 2) to świetny sposób na podanie zawartości bieżącego katalogu z wiersza poleceń:
python -m http.server
Jednak jeśli chodzi o serwery WWW, jest to bardzo powolne ...
Zachowuje się tak, jakby był jednowątkowy i czasami powoduje błędy przekroczenia limitu czasu podczas ładowania modułów JavaScript AMD przy użyciu RequireJS. Załadowanie prostej strony bez zdjęć może zająć od pięciu do dziesięciu sekund.
Jaka jest szybsza alternatywa, która jest równie wygodna?
command-line
httpserver
command-line-tool
simplehttpserver
Drew Noakes
źródło
źródło
git instaweb
.Odpowiedzi:
Serwer http dla node.js jest bardzo wygodny i jest znacznie szybszy niż SimpleHTTPServer Pythona. Jest tak przede wszystkim dlatego, że wykorzystuje asynchroniczne operacje we / wy do równoczesnej obsługi żądań zamiast szeregowania żądań.
Instalacja
Zainstaluj node.js, jeśli jeszcze tego nie zrobiłeś. Następnie użyj menedżera pakietów węzłów (
npm
), aby zainstalować pakiet, korzystając z-g
opcji instalacji globalnej. Jeśli korzystasz z systemu Windows, potrzebujesz monitu z uprawnieniami administratora, a w systemie Linux / OSX będziesz chciał wykonaćsudo
polecenie:Spowoduje to pobranie wszystkich wymaganych zależności i instalację
http-server
.Posługiwać się
Teraz z dowolnego katalogu możesz wpisać:
Ścieżka jest opcjonalna, domyślnie
./public
jeśli istnieje, w przeciwnym razie./
.Opcje to [domyślne]:
-p
Numer portu do nasłuchiwania [8080]-a
Adres hosta do powiązania z [localhost]-i
Wyświetl strony indeksu katalogu [True]-s
lub--silent
tryb cichy nie zaloguje się do konsoli-h
lub--help
Wyświetla komunikat pomocy i wychodziAby więc obsłużyć bieżący katalog na porcie 8000, wpisz:
źródło
-g
opcji i upewniłeś się, że podczas instalacji nie zostały wydrukowane żadne błędy? Ten błąd oznacza po prostu, że nie można go znaleźć po instalacji, co wydaje się mało prawdopodobne, jeśli wszystko pójdzie dobrze. Na jakiej platformie jesteś? Uruchom polecenie find na swoim dysku, aby znaleźć plik o nazwiehttp-server
. Z powodzeniem wykorzystałem to w kilku różnych dystrybucjach Linuksa i wersjach Windows.Polecam: Twisted ( http://twistedmatrix.com )
Jest wieloplatformowy i został wstępnie zainstalowany w systemie OS X od 10.5 do 10.12. Między innymi możesz uruchomić prosty serwer WWW w bieżącym katalogu za pomocą:
Detale
Objaśnienie opcji (
twistd --help
więcej informacji):„web” to polecenie, które działa na prostym serwerze WWW na silniku asynchronicznym Twisted. Akceptuje również opcje wiersza poleceń (po poleceniu „web” -
twistd web --help
więcej informacji):Istnieje również kilka innych poleceń, takich jak:
Instalacja
Ubuntu
Mac OS-X (jest fabrycznie zainstalowany w wersji 10.5 - 10.12 lub jest dostępny w MacPorts i przez Pip)
Windows
HTTPS
Twisted może również wykorzystywać certyfikaty bezpieczeństwa do szyfrowania połączenia. Użyj tego z istniejącymi opcjami
--path
i--port
(dla zwykłego HTTP).źródło
sudo apt-get install python-twisted-web
najpierw. (Dzięki za tę odpowiedź, jest to bardzo wygodne!)twistd --help
itwistd web --help
. Zajęło mi to trochę czasu, aby to zrozumieć.udać się1.0 zawiera serwer http i wykorzystanie do udostępniania plików z kilkoma liniami kodu.
Uruchom to źródło za pomocą
go run myserver.go
lub, aby zbudować plik wykonywalnygo build myserver.go
źródło
Wypróbuj webfs , jest mały i nie zależy od zainstalowania platformy takiej jak node.js lub python.
źródło
apt-get install webfs
brew install webfs
na moim komputerze Mac, co spowodowało🍺 /usr/local/Cellar/webfs/1.21: 5 files, 96K, built in 15 seconds
. Potem mogę po prostu powiedzieć,webfsd -F -p 3003 -r resources/public/ -f index.html
aby osiągnąć to samo cotwistd -no web -p 3003 --path=resources/public/
. To trochę trudne, więc nie jest oczywiste, aby pamiętać, ale warto wiedzieć, że jest to alternatywa dla twistd lub SimpleHTTPServer.Jeśli używasz Mercurial, możesz użyć wbudowanego serwera HTTP. W folderze, który chcesz podać:
Z dokumentów :
źródło
Oto kolejny. To rozszerzenie do Chrome
Po zainstalowaniu możesz go uruchomić, tworząc nową kartę w Chrome i klikając przycisk aplikacji w lewym górnym rogu
Ma proste GUI. Kliknij wybierz folder, a następnie kliknij
http://127.0.0.1:8887
linkhttps://www.youtube.com/watch?v=AK6swHiPtew
źródło
Rozważ też devd jako mały serwer WWW napisany w trybie go. Pliki binarne dla wielu platform są dostępne tutaj .
Jest mały, szybki i oferuje kilka interesujących opcjonalnych funkcji, takich jak przeładowywanie na żywo, gdy zmieniają się twoje pliki.
źródło
Znalazłem
python -m http.server
niewiarygodne - niektóre odpowiedzi zajęłyby sekundy.Teraz używam serwera o nazwie Ran https://github.com/m3ng9i/ran
źródło
wypróbuj polpetta ...
wtedy możesz
i jesteś gotowy do pracy :-)
źródło
Używanie Servez jako serwera
http://localhost:8080
lub wybierz „Uruchom przeglądarkę”Uwaga: rzuciłem to razem, ponieważ serwer Web dla Chrome odchodzi, ponieważ Chrome usuwa obsługę aplikacji i ponieważ wspieram studentów sztuki, którzy nie mają doświadczenia z wierszem poleceń
źródło
Lubię serwer na żywo . Jest szybki i ma ładną funkcję przeładowania na żywo, co jest bardzo wygodne podczas opracowywania.
Użycie jest bardzo proste:
Domyślnie tworzy serwer o IP 127.0.0.1 i porcie 8080.
http://127.0.0.1:8080/
Jeśli port 8080 nie jest wolny, używa innego portu:
http://127.0.0.1:52749/
http://127.0.0.1:52858/
Jeśli chcesz zobaczyć serwer WWW na innych komputerach w sieci lokalnej, możesz sprawdzić swój adres IP i użyć:
A oto skrypt, który automatycznie pobiera adres IP domyślnego interfejsu. Działa tylko w systemie macOS .
Jeśli go włożysz
.bash_profile
,live-server
polecenie automatycznie uruchomi serwer z poprawnym adresem IP.źródło
Jeśli masz zainstalowany PHP, możesz użyć wbudowanego serwera.
źródło
Jeszcze inny oparty na węzłach prosty serwer linii poleceń
https://github.com/greggman/servez-cli
Napisane częściowo w odpowiedzi na problemy z serwerem http, szczególnie w systemie Windows.
instalacja
Zainstaluj następnie node.js
stosowanie
Bez ścieżki obsługuje bieżący folder.
Domyślnie służy
index.html
do ścieżek folderów, jeśli istnieje. W przeciwnym razie służy do wyświetlania katalogu dla folderów. Służy również do nagłówków CORS. Opcjonalnie możesz włączyć uwierzytelnianie podstawowe za pomocą--username=somename --password=somepass
i możesz obsługiwać protokół https.źródło