[PYTHON] Ich möchte das Produkt zu den niedrigsten Kosten veröffentlichen

Freut mich, dich kennenzulernen. Das ist Taro Man. Normalerweise entwickle ich Webdienste.

Einführung

彡 (゜) (゜) "Ich möchte einen ** Dienst ** erstellen und ihn veröffentlichen ~" 彡 (゜) (゜) "Aber es ist ** schwierig , einen Mietserver zu mieten ..." 彡 (゜) (゜) " Servergebühr ** Ich möchte nicht bezahlen ..."

Hast du dich jemals so gefühlt? Ich bin mir sicher, dass es das gibt.

Verwenden Sie in diesem Fall den ** Heroku Free Plan **. In diesem Artikel werde ich darüber schreiben, wie Sie Ihre Bewerbung mit Herokus kostenlosem Plan veröffentlichen können.

▷ Die offizielle Heroku-Website ist hier

Was können Sie mit einem kostenlosen Plan tun?

Sie können die meisten Dinge tun. Sie können es problemlos verwenden, wenn Sie die Anwendung auf dem Server bereitstellen und betreiben.

Bei Herokus kostenlosem Plan sind zwei Einschränkungen zu beachten.

Kostenlose Dyno-Stunden (Betriebszeit) 550 Stunden / Monat

Wenn Sie Herokus kostenlosen Plan standardmäßig verlassen, erhalten Sie nur 550 Stunden Dyno-Stunden pro Monat.

30 Tage x 24 Stunden = 720 Stunden, daher reicht der kostenlose Plan nicht aus, wenn Sie versuchen, ihn einen Monat lang mit voller Kapazität auszuführen.

Dies kann jedoch gelöst werden, wenn Sie eine ** Kreditkarte ** haben.

Auch mit dem kostenlosen Plan, wenn Sie eine Kreditkarte in Ihrem Konto registrieren Es werden 450 Stunden / Monat kostenlose Dyno-Stunden hinzugefügt, sodass Sie bis zu ** 1.000 Stunden ** / Monat nutzen können.

Die App geht 30 Minuten lang ohne Zugriff in den Ruhezustand

Mit dem kostenlosen Plan wird die App in den Ruhezustand versetzt, wenn 30 Minuten lang kein Zugriff besteht. Die Antwort ist langsamer, wenn die App beim nächsten Zugriff gestartet wird.

Dies kann jedoch mit ** Heroku Scheduler ** gelöst werden.

Heroku Scheduler ist eine Funktion, die die regelmäßige Ausführung bestimmter Befehle ermöglicht. Es ist wie mit Linux Cron.

Durch Ausführen des Befehls ** curl ** auf der App-URL in Heroku Scheduler Sie können es am Laufen halten, ohne die App fallen zu lassen.

▷ Die Einstellungsmethode von Heroku Scheduler ist in [diesem Artikel] zusammengefasst (https://qiita.com/Taro_man/items/2eab3e3acad88c5b759e).

Bereitstellung auf dem Server

1. Installation der erforderlichen Bibliotheken

Installieren Sie die Bibliotheken, die für die Ausführung des Projekts auf Heroku erforderlich sind.

pip install gunicorn django-heroku

2. Fügen Sie eine Ausführungsumgebungsdatei hinzu

Erstellen Sie eine Datei in ** direkt unter dem Projektverzeichnis **, die Heroku die Ausführungsumgebung des Projekts mitteilt.

runtime.txt

Eine Datei, die die Python-Version beschreibt.

runtime.txt


python-3.6.6

Procfile

Diese Datei enthält die Befehle zum Starten des Heroku-Prozesses. Ersetzen Sie "" durch Ihren eigenen Projektnamen.

Procfile


web: gunicorn <your-project-name>.wsgi --log-file -

requirements.txt Hier ist eine Liste der abhängigen Pakete. Speichern wir das Ausgabeergebnis des Befehls "pip freeze" so wie es ist.

commandline


pip freeze > requirements.txt

3. Ändern Sie die Projekteinstellungsdatei

Ändern Sie den Teil "DEBUG = Ture" von "settings.py" für die Verwendung in der Produktion.

your-project/settings.py


DEBUG = False

4. Commit mit Git

Erstellen und Festschreiben eines lokalen Repositorys in Git.

python


git init                                
git config user.name "Your Name"        
git config user.email [email protected]   
git add .                            
git commit -m "first commit"     

5. Mit Heroku-Befehl bereitstellen

Mit dem Heroku-Befehl auf Heroku bereitstellen. Wenn der Befehl "Heroku Login" ausgeführt wird, wird der Browser gestartet und Sie werden aufgefordert, Heroku zu authentifizieren. Nach dem Anmelden können Sie zum Terminal ** zurückkehren, ohne den Browser für weitere Arbeiten fallen zu lassen.

python


heroku login
heroku create <your-app-name>
git push heroku master
heroku ps:scale web=1
heroku run python manage.py migrate

schließlich

Wir hoffen, dass so viele Ingenieure wie möglich ihre Produkte weltweit veröffentlichen können.

Recommended Posts

Ich möchte das Produkt zu den niedrigsten Kosten veröffentlichen
Ich möchte Spyder an die Taskleiste anheften
Ich möchte kühl auf die Konsole ausgeben
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte mit dem Reim part3 umgehen
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte mit dem Reim part7 (BOW) umgehen
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte die Aktivierungsfunktion Mish verwenden
Ich möchte den Fortschritt in Python anzeigen!
Die Geschichte der IPv6-Adresse, die ich auf ein Minimum beschränken möchte
Ich möchte gleichzeitig einen Musik-Player erstellen und Musik ablegen
Ich möchte den Dateinamen von DataLoader sehen
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte in der Django-Verschiebungstabelle scrollen, aber ...
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte mit dem Reim part6 umgehen (einmal organisieren)
Ich möchte ssh mit dem Befehl expected automatisieren!
Ich habe versucht, die Methode zur Mittelung der Dollarkosten zu simulieren
Ich möchte R-Datensatz mit Python verwenden
Ich möchte mit dem Reim part8 umgehen (einmal fertig)
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
Ich möchte auch Linux-Befehle an der Eingabeaufforderung verwenden! Verwenden Sie Linux-Befehle an der Eingabeaufforderung anstelle von Git Bash
Ich möchte SUDOKU lösen
[TensorFlow] Ich möchte die Indizierung für Ragged Tensor beherrschen
Ich möchte das neueste gcc verwenden, auch wenn ich keine Sudo-Berechtigungen habe! !!
Ich möchte initialisieren, wenn der Wert leer ist (Python)
Ich möchte die von LINE an S3 gesendeten Fotos speichern
Ich möchte vorerst Selen bewegen [für Mac]
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
Ich möchte mit Numpy die japanische Flagge in die Palau-Flagge ändern
Ich möchte die zulässige Ausfallzeit aus der Betriebsrate berechnen
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte die Natur von Python und Pip kennenlernen
Ich möchte den Wörterbuchtyp in der Liste eindeutig machen
Ich möchte den EDINET-Code und die Wertpapiernummer zuordnen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die gültigen Zahlen im Numpy-Array ausrichten
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich möchte vorerst eine Docker-Datei erstellen.
Ich wollte den AWS-Schlüssel nicht in das Programm schreiben
Ich möchte Informationen von fstab am ssh-Verbindungsziel abrufen und den Befehl ausführen
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
[Pytorch] Ich möchte die Trainingsparameter des Modells manuell zuweisen
Ich möchte automatisch hochwertige Teile aus den von mir aufgenommenen Videos finden
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
[Linux] Ich möchte das Datum wissen, an dem sich der Benutzer angemeldet hat
Ich möchte systemd grob verstehen
Ich möchte die HTML-Version der OpenCV 3.1-Version "OpenCV-Python Tutorials" lesen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
LINEbot-Entwicklung möchte ich den Betrieb in der lokalen Umgebung überprüfen
Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen
Ich habe versucht, das Wahrscheinlichkeitsintegral (I zu Integral) zu berechnen.
Ich möchte Google Form jeden Morgen um 5 Uhr automatisch beantworten
Ich möchte die zweite Zeile zum Spaltennamen in Pandas machen