Właśnie ukończyłeś prostą witrynę z portfolio w języku Python i chcesz ją udostępnić za pomocą bezpłatnego hostingu. Słyszałeś o darmowym hostingu Heroku, ale nie do końca rozumiesz związane z tym kwestie techniczne.
Ten przewodnik pomoże Ci przejść przez cały proces hostowania Twojej witryny Python za darmo na Heroku, w znacznie prostszy sposób. Zakładamy, że masz podstawową wiedzę o Pythonie i przynajmniej jeden z jego frameworków, a mianowicie Django.
Dlaczego warto wybrać Heroku?
Heroku to dostawca usług hostingowych Platform as a Service (PaaS), który obsługuje swoją infrastrukturę na czymś, co nazywa Dynos. Pozwala skupić się na wdrożeniu, jednocześnie rozwiązując problemy związane z utrzymaniem i budowaniem infrastruktury sieciowej.
Jeśli nie możesz sobie pozwolić na płatny hosting, ale chcesz szybko stworzyć portfolio online, możesz rozważyć umieszczenie go na Heroku. Oprócz tego, że jest to bezpłatne, możesz szybko umieścić swoją witrynę na Heroku.
Oczywiście istnieją inne platformy, na których możesz bezpłatnie hostować swoją witrynę Python, takie jak Amazon Web Services i PythonAnywhere. Ale proces hostowania na Heroku jest łatwy, zwłaszcza dla osób bez wcześniejszej wiedzy o wdrożeniu.
Jeśli hostujesz witrynę internetową za darmo w Heroku, nie musisz koniecznie mieć nazwy domeny. Wystarczy podać nazwę aplikacji na platformie hostingowej. Heroku następnie tworzy plik app.herokuapp.com lokalizator dla Ciebie. Kiedy korzystasz z tej bezpłatnej usługi, Twoja witryna działa na Heroku Dynos.
Jeśli później zdecydujesz się zwiększyć skalę i uzyskać nazwę domeny, jest to równie łatwe i szybkie, ale musisz za to zapłacić. Ogromny koszt utrzymania aktualizacji może spowodować, że przemyślisz to na nowo, ale jest to warte swojej ceny, jeśli jesteś zdecydowany zainwestować więcej w projekt.
Przyjrzyjmy się teraz, jak bezpłatnie hostować swoją witrynę internetową w języku Python na Heroku. Zauważ, że jest to oparte na Pythonie w wersji 3.7 i Django w wersji 2.1.7.
Skonfiguruj Git i Heroku
Aby rozpocząć, pobierz Git z Witryna internetowa git-scm. Tutaj wyjaśniono różne polecenia i zwroty akcji umożliwiające zainstalowanie Gita we wszystkich systemach operacyjnych.
Po zainstalowaniu Git musisz również założyć konto w Heroku na Strona rejestracji Heroku jeśli jeszcze go nie masz.
Następnie pobierz i zainstaluj Heroku CLI ze strony Heroku. Interfejs CLI Heroku umożliwia komunikację z repozytorium za każdym razem, gdy musisz zatwierdzić zmiany w swojej aplikacji.
Jeśli nie znasz jeszcze poleceń Gita, powinieneś zapoznać się z naszymi wprowadzenie do kontroli wersji za pomocą Git.
Skonfiguruj projekt Django
Jeśli nie masz skonfigurowanego projektu Django i chcesz go wypróbować z tym samouczkiem, otwórz wiersz poleceń i stworzyć wirtualne środowisko jeśli jeszcze go nie masz. Gdy środowisko wirtualne będzie gotowe, użyj tego polecenia, aby zainstalować framework Django:
Badamy najlepsze sposoby tworzenia i zarządzania wirtualnymi środowiskami Python.
pip install django == 2.1.7
Po zainstalowaniu Django w środowisku wirtualnym uruchom następującą komendę, aby rozpocząć nowy projekt Django:
django-admin.py startproject nazwa_projektu
Następnie utwórz nową aplikację w języku Python. Aby to zrobić, przeprowadź migrację do głównego folderu projektu na CMD i uruchom:
python manage.py startapp nazwa_aplikacji
Pamiętaj, aby wymienić Nazwa Projektu i Nazwa aplikacji z Twoimi preferowanymi imionami.
Potrzebujesz gunicorn moduł do tego, więc powinieneś również uruchomić pip zainstaluj gunicorn. Następnie dodaj gunicorn do listy zainstalowanych aplikacji w settings.py, jak pokazano niżej:
To tylko powierzchowne wprowadzenie do tworzenia aplikacji Django. Jednak niezależnie od tego, czy Twoja aplikacja jest gotowa, czy dopiero ją tworzysz, upewnij się, że biegasz python manage.py migrate aby stworzyć bazę danych.
Powinieneś teraz mieć aplikację Pythona działającą w ramach twojego frameworka Django. Teraz zajmiemy się naszym głównym celem.
Wdrażanie Twojej aplikacji w Heroku
Aby pomyślnie wdrożyć aplikację w Heroku, musisz skonfigurować plik wymagania.txt plik. Aby to skonfigurować, uruchom na CMD:
pip freeze> Requirements.txt
Ta linia tworzy plik .tekst plik zawierający wszystkie pakiety używane do obsługi projektu. Heroku sprawdza ten plik podczas wdrażania i automatycznie instaluje te pakiety.
Innym ważnym plikiem, który musisz określić, jest plik Procfile. Informuje to Heroku o poleceniach, które mają zostać uruchomione podczas inicjalizacji aplikacji. Jednak musisz utworzyć ten plik, jawnie tworząc nowy plik tekstowy o nazwie Procfile w katalogu głównym projektu. Upewnij się, że ten plik nie ma rozszerzenia; w przeciwnym razie to nie zadziała.
Aby usunąć rozszerzenie pliku z Procfile w systemie Windows, otwórz folder w Eksploratorze plików, kliknij Widok na górnym pasku narzędzi i zaznacz plik Rozszerzenia nazw plików pudełko. Zobaczysz rozszerzenia dla wszystkich plików, w tym .tekst rozszerzenie dla Procfile. Kliknij prawym przyciskiem myszy Procfile i wybierz Przemianować, a następnie po prostu usuń plik .tekst rozszerzenie i uderzenie Wchodzić.
Następnie otwórz plik Procfile i dodaj następujący wiersz, zastępując Nazwa Projektu z nazwą, która dotyczy Twojego projektu:
web: gunicorn nazwa_projektu.wsgi
Opcjonalnie możesz również utworzyć plik runtime.txt plik. Otwórz plik i określ wersję Pythona w następujący sposób:
python-3.7.6
W ten sposób poinformujesz Heroku o wersji Pythona, na której działa Twoja aplikacja. Jeśli nie określisz tego pliku, Heroku użyje domyślnie najnowszej wersji Pythona.
Następnie w wierszu poleceń zaloguj się na swoje konto Heroku, uruchamiając to polecenie:
Zaloguj się do heroku
To polecenie otwiera domyślną przeglądarkę na stronie logowania Heroku, na której możesz podać swoje dane logowania.
Aby utworzyć aplikację w Heroku, wpisz następujący wiersz:
heroku utwórz ademosapp2
Zastąpić ademosapp2 z nazwą preferowanej aplikacji. Jeśli wybrana nazwa aplikacji jest używana, zobaczysz komunikat z prośbą o wybranie nowej nazwy.
Na stronie logowania kliknij logo Heroku, aby zalogować się do pulpitu nawigacyjnego Heroku. Powinieneś teraz zobaczyć właśnie utworzoną aplikację.
Następnie otwórz preferowany edytor tekstu w lokalizacji swojego projektu i przejdź do swojego projektu settings.py. w settings.py plik, zmień plik Dozwolony host do [*]Dzięki temu Twoja aplikacja będzie dostępna dla każdego hosta globalnego.
Teraz przejdź do pulpitu nawigacyjnego Heroku i kliknij nowo utworzoną aplikację, a następnie ustawienia. W ustawieniach przewiń w dół i kliknij Dodaj pakiet kompilacji. Następnie wybierz Python jako pakiet kompilacji i kliknij Zapisz zmiany.
Następnie wróć do CMD i uruchom następujący kod, aby zainstalować Heroku w swoim projekcie:
pip zainstaluj django-heroku
Teraz dodaj nowo zainstalowany pakiet do pliku wymagania.txt plik uruchamiając:
pip freeze> Requirements.txt
Następnie otwórz plik settings.py plik i wpisz:
import django_heroku
Również w ostatnim wierszu settings.py, Aktywuj django-heroku poprzez dodanie:
django_heroku.settings (locals ())
# upewnij się, że skomentujesz tę linię po wdrożeniu
Gdy to zrobisz, zainicjuj zdalne repozytorium, wpisując następujące polecenie w wierszu poleceń:
heroku init
Następnie utwórz repozytorium aplikacji Heroku, uruchamiając:
heroku git: remote -a ademosapp2 #replace ademosapp2 nazwą aplikacji
Aby sprawdzić pliki, które mają zostać zatwierdzone, uruchom:
status git
Następnie wpisz następujące polecenie, aby dodać wszystkie zmiany do repozytorium:
git add --all
Po dodaniu zmian zatwierdź je w Heroku, uruchamiając polecenie:
git commit -m "initial-commit"
Zwróć na to uwagę „wstępne zatwierdzenie” możesz użyć dowolnej nazwy.
Następnie należy wyłączyć collectstatic używając:
heroku config: ustaw DISABLE_COLLECTSTATIC = 1
W przeciwnym razie możesz napotkać problemy podczas procesu wdrażania.
Aby ostatecznie przesłać pliki do repozytorium Heroku, użyj polecenia:
git push heroku master
Spowoduje to przeniesienie wszystkich plików do Heroku i udostępnienie aplikacji z dowolnego miejsca. Aby zobaczyć nowo wdrożoną aplikację, przejdź do https://app_name.herokuapp.com w przeglądarce, zastępując Nazwa aplikacji z nazwą Twojej aplikacji.
Czy Heroku może hostować aplikację, która nie działa w Pythonie?
W Heroku możesz hostować różne kompilacje aplikacji; te same procesy Git, które tutaj omówiliśmy, działają dla innych języków oprócz Pythona. Musisz tylko dokonać niewielkich zmian, takich jak zresetowanie pakietu kompilacji.
Chociaż Heroku oferuje darmowy hosting, wszyscy wiemy, że darmowe treści mają pewne ograniczenia. Jeśli jednak nie spodziewasz się, że Twoja witryna będzie otrzymywać duży ruch, darmowy hosting Heroku może być dobrą opcją.
Chcesz nauczyć się programowania, ale nie wiesz, od czego zacząć? Te projekty i samouczki dla początkujących programistów pozwolą Ci zacząć.
- Programowanie
- Hosting
- Programowanie
- Pyton
Idowu jest pasjonatem wszystkiego, co inteligentne technologie i produktywność. W wolnym czasie bawi się kodowaniem, nudzi się szachownicą, ale uwielbia też od czasu do czasu oderwać się od rutyny. Jego pasja do wskazywania ludziom drogi wokół nowoczesnych technologii motywuje go do pisania więcej.
Zapisz się do naszego newslettera
Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Jeszcze jeden krok…!
Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.