Utwórz natychmiastowy serwer internetowy za pomocą wiersza poleceń terminala i języka Python
Spisu treści:
Chcesz szybko udostępnić plik, przetestować kod lub coś wyemitować? Możesz natychmiast utworzyć serwer WWW z bieżącego katalogu, używając tylko Pythona, tak, bez Apache, bez nginx, bez litespeed, tylko w Pythonie, który jest obecnie dostarczany z prawie każdą odmianą systemu Unix. Polecenie jest niezwykle proste, biorąc pod uwagę jego użyteczność, i przetestuj je samodzielnie, otwierając okno terminala i dowolną przeglądarkę internetową.
Ta sztuczka natychmiast uruchamia prosty serwer sieciowy z samym tylko pythonem, działa w systemach Mac OS X, Linux, FreeBSD i innych inna platforma uniksowa, która ma Pythona.
Jak uruchomić błyskawiczny serwer internetowy w języku Python
Aby utworzyć natychmiastowy serwer internetowy z wiersza poleceń, wpisz następujące polecenie w dowolnym katalogu, do którego chcesz mieć dostęp za pośrednictwem przeglądarek i protokołu HTTP:
Uruchamianie prostego serwera internetowego w języku Python 2
python -m SimpleHTTPServer
Uruchom prosty serwer WWW w Pythonie 3
python -m http.server
Spowoduje to natychmiastowe opublikowanie bieżącego katalogu jako serwera sieciowego, więc jeśli masz plik index.html, który zostanie natychmiast wyświetlony, w przeciwnym razie po prostu wyświetli zawartość katalogu pod adresem IP lokalnego hosta lub „ 0.0.0.0”. Należy pamiętać, że port 8000 jest domyślnym ustawieniem portu dla tej funkcji, co oznacza, że aby uzyskać dostęp do serwera WWW z przeglądarki, należy wprowadzić następujący adres: http://0.0.0.0:8000
Pamiętaj, że bez pliku index.htm lub index.html w katalogu przeglądarka wyświetliłaby zamiast tego prostą listę CWD/PWD.
Po uruchomieniu terminal będzie aktualizował się w miarę ładowania stron i danych z serwera sieciowego Pythona, pokazując standardowe informacje logowania http, takie jak żądania GET i PUSH, które pliki są uzyskiwane i przez kogo, błędy 404, Adresy IP, daty, godziny i wszystko, czego można oczekiwać od standardowego dziennika http, tak jakbyś śledził plik dziennika dostępu Apache.
Jeśli chcesz, możesz bardziej wymyślić i określić port, dając pewien poziom niejasności serwerowi sieciowemu, jeśli masz nadzieję nadawać coś tylko do określonej osoby lub jeśli po prostu nie Nie chcę, żeby pokazywało się to na standardowym skanowaniu portów 8000.Wszystko, co musisz zrobić, to podać numer portu na końcu powyższego polecenia, na przykład:
python -m SimpleHTTPServer 4104
Spowodowałoby to uruchomienie serwera WWW w bieżącym katalogu pod adresem IP z portem 4104, na przykład załóżmy, że adres IP lokalnego hosta: http://127.0.0.1:4104 lub http:// 0.0.0.0:4104 w zależności od ustawień.
To bardzo przydatna wskazówka, jeśli tworzysz szybko stronę internetową i chcesz od razu sprawdzić to w przeglądarce lub pokazać komuś innemu, a nie chcesz tracić czasu na sftp lub zapisz go w repozytorium. To powinno działać na każdym systemie operacyjnym typu unix, w tym na FreeBSD, Linux, Ubuntu, Redhat i oczywiście na Mac OS X.
Poniższy film przedstawia uruchamianie serwera python w katalogu z prostym plikiem index.html, a także pokazuje, w jaki sposób uruchomione polecenie python odzwierciedla to, co dzieje się z połączeniem http, tak jak normalny serwer http log:
Daj nam znać, jeśli znajdziesz jakieś szczególnie wartościowe zastosowania lub dodatkowe sekrety tej wspaniałej małej sztuczki.