Ich habe Flask schon eine Weile gelernt, aber ich habe es noch nie bereitgestellt, also habe ich darüber nachgedacht, wie ich es bereitstellen soll. Ich habe darüber nachgedacht, den Dienst zuerst einzurichten , und ich habe mich für Flask+uwsgi+Nginx+Ubuntu entschieden. Dies ist die Option, die mit dem Ubuntu-System geliefert wird. Es fühlt sich einfach an, es zu erlernen Derzeit ist meine eigene Flasche in Python3 geschrieben, und ich werde langsam darauf umsteigen. Lassen Sie uns das zuerst herausfinden, dann wird es sehr einfach sein, es zu optimieren. Tatsächlich weiß ich nicht viel über viele Prinzipien. Lassen Sie uns dies zunächst einrichten und langsam die darin enthaltene Logik verstehen.
Nginx ist ein effizienter Webserver und Reverse-Proxy-Server, der als Lastausgleich verwendet werden kann (wenn n Benutzer auf den Server zugreifen, kann er die Last auslagern und teilen Im Vergleich zu Apache unterstützt Nginx eine hohe Parallelität und kann Millionen von TCP-Verbindungen und Hunderttausende gleichzeitiger Verbindungen unterstützen. Es ist einfach bereitzustellen, verbraucht weniger Speicher und ist kostengünstig viele Module wie Apache. Nginx unterstützt das uwsgi-Protokoll von uWSGI, sodass wir Nginx mit uWSGI kombinieren können und Nginx dynamische Inhalte zur Verarbeitung über uwsgi_pass
an uWSGI übergibt.
Die offizielle Dokumentation finden Sie hier
Das beste Nginx-Tutorial finden Sie hier
uwsgi
sudo apt-get install python-pip
Verwenden Sie den folgenden Befehl, um flask zu installieren
pip install flask
Nach der Installation können wir es testen,
Flasche importieren
Es wird kein Fehler gemeldet, was beweist, dass unsere Flasche erfolgreich installiert wurde. Als nächstes müssen wir also ngnix und uwsgi installieren.
sudo apt-get install nginx
Nach der Installation können wir es zuerst starten, Nginx starten Direkter Befehlszeilenstart, einfach und grob
Dies So wurde unser Nginx erfolgreich gestartet. Als nächstes verwenden wir pip, um uwsgi zu installieren.
Nachdem wir es installiert haben, beginnen wir mit der Arbeit
Zuerst erstelle ich es unter dem Python-Paket einer App,
#app/__init__.pyfrom flask import Flask app = Flask(__name__)from app import view
Als nächstes erstellen wir view.py
from app import app @app.route('/')def index():return 'hellow'
Dann gehen wir zur App Create hello.py
from app import appif __name__ == "__main__": app.run()
im gleichen Verzeichnis, dann können wir Python verwenden, um unser Programm lokal zu debuggen,
Dann können wir einen Blick in den Browser werfen, Geben Sie die Adresse ein und erhalten Sie diese. Aus dieser Sicht gibt es kein Problem mit unserem Flaschenprogramm.
Dann müssen wir als Nächstes Nginx den Webdienst übernehmen lassen.
Was ich hier getan habe, war, die Nginx-Konfigurationsdatei einfach und grob zu löschen
$ sudo rm /etc/nginx/sites-enabled/default
Als nächstes habe ich eine Konfigurationsdatei unter hellowflask erstellt
server { listen 8081; server_name 127.0.0.1; charset utf-8; client_max_body_size 75M; location / { try_files $uri @app; } location @app { include uwsgi_params; uwsgi_pass 127.0.0.1:9000; } }
Eine kurze Erklärung: server_name kann ein Domänenname oder eine IP-Adresse sein. uwsgi_pass gibt die Kommunikationsmethode zwischen Nginx und uwsgi an. Was ich hier wähle, ist die angegebene Portnummer.
Dann verbinden wir unsere Konfiguration sanft mit Nginx.
<code class="hljs groovy">sudo ln -s <span class="hljs-regexp"><span class="hljs-regexp">/home/liwanlei/Desktop/hellowflask/<span class="hljs-regexp">helloflask_nginx.conf /etc<span class="hljs-regexp">/nginx/conf.d/<br>这样我们再去启动我们的nginx,</span></span></span></span></code>
sudo /etc/init.d/nginx restart
Was hier steht, ist kein willkommener Fehler, sondern ein 502-Fehler, da unsere aktuelle uwsgi-Datei noch nicht konfiguriert wurde und wir uwsgi noch nicht gestartet haben, also lasst uns Als nächstes möchte ich nur dieses UWSGI herausholen. Das folgende Beispiel ist meine Konfiguration.
[uwsgi] base = /home/liwanlei/Desktop/hellowflask app = hello#module = %(app)pidfile = /var/run/uwsgi.pid master = true wsgi-file = /home/liwanlei/Desktop/hellowflask/hello.py pythonpath = /usr/bin/python chdir = /home/liwanlei/Desktop/hellowflask socket = 127.0.0.1:9000callable = app logto = %n.log plugins = python processes = 8master = true
Zu diesem Zeitpunkt ist unser uwsgi konfiguriert, also fangen wir damit an,
sudo /usr/bin/uwsgi --ini/home/liwanlei/Desktop/hellowflask/helloflask_uwsgi.ini
我们去重新启动我们的nginx,
<code class="hljs bash">sudo nginx <span class="hljs-_">reload<br>平滑重启可以用用,重新加载配置文件,用新的工作进程代替旧的工作进程。<br></span></code>
sudo nginx -s reload
<code class="hljs bash"><span class="hljs-_"><br>启动后,我这里修改了地址,这里就可以直接访问了,那么我们的部署这样就算可以了,简单的。<br><img src="https://img.php.cn/upload/article/000/000/001/25f4d9be3a729ae5fc17c2fefb915c9c-3.jpg" alt=""></span></code>
<br>
完工之后,感觉还是很简单的 有问题那么就去看log,只要log配置得当,那么排除错误是很快的。
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Bereitstellung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!