CentOS7-Bereitstellung Flask (Apache, mod_wsgi, Python36, venv)

CentOS7-Bereitstellung Flask (Apache, mod_wsgi, Python36, venv)

1. Installieren Sie Apache

# yum install -y httpd httpd-devel
# systemctl start httpd.service # Starten # systemctl stop httpd.service # Herunterfahren # systemctl restart httpd.service # Neustart # systemctl enable httpd.service # Beim Booten automatisch starten

Öffnen Sie Port 80 in der Firewall.

# Firewall-Befehl --zone=public --add-port=80/tcp --permanent
# Firewall-cmd --reload

Öffnen Sie Apache, und das externe Netzwerk kann über IP auf die Standardseite von Apache zugreifen

2. Installieren Sie Python36, pip3 und virtualenv

# yum install -y epel-release
# yum install -y python36
# python36 -V
Python 3.6.6
# yum install -y python36-setuptools
# easy_install-3.6 pip
# pip3 -V
pip 18.1 von /usr/local/lib/python3.6/site-packages/pip-18.1-py3.6.egg/pip (Python 3.6)
# pip3 installiere virtualenv

3. Erstellen Sie ein Projekt

Erstellen Sie ein Flask-Projekt (am einfachsten: ein Projektordner, eine Startdatei)

# mkdir /var/www/flask_test # Projektordner# vi /var/www/flask_test/app.py # Startdatei

Beispiel einer Startdatei:

aus Flask importieren Flask, Anfrage
 
App = Flask(__name__)
 
@app.route('/')
def hallo_welt():
  returniere 'Hallo Welt'
 
@app.route('/hallo')
def hallo():
  Name = Anfrage.args.get('Name','')
  returniere 'Hallo ' + Name + '!'
 
wenn __name__ == '__main__':
  app.run()

Erstellen Sie eine virtuelle Umgebung im Projektordner und installieren Sie Flask

# cd /var/www/flask_test
# virtualenv py3env # Erstellen Sie eine virtuelle Umgebung # source py3env/bin/activate # Rufen Sie die virtuelle Umgebung (py3env) auf # pip install flask # Installieren Sie flask
(py3env) # deaktivieren # Beenden Sie die virtuelle Umgebung

4. Installieren Sie mod_wsgi mit pip in einer virtuellen Umgebung

# yum install -y python36-devel.x86_64 # Eine Abhängigkeit. Wenn sie nicht installiert ist, meldet pip unten einen Fehler. .
# Quelle py3env/bin/activate # Rufen Sie die virtuelle Umgebung (py3env) auf. # pip install mod_wsgi # Installieren Sie mod_wsgi
(py3env) # mod_wsgi-express install-module # Führen Sie den Befehl aus und kopieren Sie die Ausgabe LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
WSGIPythonHome "/var/www/flask_test/py3env"
 
(py3env) # deaktivieren # Beenden Sie die virtuelle Umgebung

Ändern der Apache-Konfiguration

# vi /etc/httpd/conf/httpd.conf

Kopieren Sie die oben erhaltene Zeile und fügen Sie sie am Ende der Konfigurationsdatei hinzu

Kopieren Sie den Code wie folgt:
Lademodul wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"

5. Konfigurieren Sie mod_wsgi

# vi /var/www/html/flask_test/app.wsgi

Schreiben Sie Folgendes (gemäß: https://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html)

aktiviere_this = '/var/www/flask_test/py3env/bin/activate_this.py'
mit open(activate_this) als file_:
  exec(file_.read(), dict(__file__=dies_aktivieren))
 
System importieren
sys.path.insert(0, '/var/www/flask_test')
aus App App als Anwendung importieren

Konfigurieren Sie Apache

# vi /etc/httpd/conf/httpd.conf

Schreiben Sie Folgendes (gemäß: https://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html#id1)

<VirtuellerHost *:80>
  ServerName example.com
  WSGIScriptAlias ​​​​/ /var/www/flask_test/app.wsgi
  <Verzeichnis /var/www/flask_test>
    Erfordern alle gewährten
  </Verzeichnis>
</VirtualHost>

OK, starten Sie Apache, und Sie können über die IP dieses Servers auf die Webseite zugreifen

Testen Sie zwei in app.py geschriebene Pfade

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Python wsgiref Quellcodeanalyse
  • Einführung in die Python WSGI-Spezifikation
  • Eine kurze Analyse der WSGI-Schnittstelle und des Betriebs von WSGI-Diensten in Python
  • Docker erstellt Python Flask+ Nginx+Uwsgi-Container
  • Python löst das Problem, dass Flask uwsgi keine globalen Variablen abrufen kann
  • Python-Webframework Django WSGI Prinzipanalyse
  • Detaillierte Erklärung zur Konfiguration von Python, MySQL, Nginx, UWSGI und Django auf VPS CENTOS
  • Python-Entwicklung Nginx+uWSGI+virtualenv Tutorial zur Bereitstellung mehrerer Projekte
  • So führen Sie Python WSGI-Anwendungen in Apache aus
  • Verwendung der in Python integrierten Bibliothek wsgiref (WSGI-Grundlagen)

<<:  Detailliertes Beispiel einer MySQL-Austauschpartition

>>:  MySQL-Deduplizierungsmethoden

Artikel empfehlen

30 Minuten, um Ihnen ein umfassendes Verständnis von React Hooks zu vermitteln

Inhaltsverzeichnis Überblick 1. useState 1.1 Drei...

CSS-Implementierungscode zum Zeichnen von Dreiecken (Rahmenmethode)

1. Implementieren Sie ein einfaches Dreieck Mithi...

Tutorial zur Installation von Android Studio unter Ubuntu 19 und darunter

Aus Erfahrung weiß man, dass es eine gute Angewoh...

Mysql-Lösung zur Verbesserung der Effizienz beim Kopieren großer Datentabellen

Vorwort Dieser Artikel stellt hauptsächlich den r...

Häufige JavaScript-Speicherfehler und Lösungen

Inhaltsverzeichnis 1. Zeitüberwachung 2. Ereignis...

Erläuterung der Anwendungsfälle von JavaScript setTimeout und setTimeinterval

Mit beiden Methoden kann ein JavaScript-Code nach...

CSS3 realisiert den Animationseffekt der Lotusblüte

Schauen wir uns zunächst die Wirkung an: Dieser E...

Verwendung des Linux-Befehls xargs

1. Funktion: xargs kann die durch Leerzeichen ode...

Webdesign-Tutorial (2): Über Nachahmung und Plagiat

<br />Im vorherigen Artikel habe ich die Sch...

Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Frage Lassen Sie mich zunächst über das Problem s...

Eine schnelle Lösung für das Problem der PC- und Mobilanpassung

Beim Erstellen einer Webseite müssen wir normaler...