Flask i Apache2 med mod_wsgi

  • Författare
  • Meddelande
Användarvisningsbild

Lew

dbwebb

  • Inlägg: 402
  • Blev medlem: 05 sep 2012, 13:42
  • Ort: Karlskrona

Flask i Apache2 med mod_wsgi

Inlägg16 dec 2016, 12:20

Kör en Flask-applikation i Apache på linux med hjälp av wsgi-modulen.

Ladda ner wsgi:
Kod: Markera allt
# För python3 varianten
$ sudo apt-get -y install libapache2-mod-wsgi-py3


1. app.py:

Kod: Markera allt
#!/usr/bin/env python3

from flask import Flask

app = Flask(__name__)

@app.route("/")
def main():
    """ main route """
    return "Det funkar!"

if __name__ == "__main__":
    app.run(debug=True)


2. yourwsgi.wsgi:

Kod: Markera allt
import sys

if sys.version_info[0]<3:       # require python3
    raise Exception("Python3 required! Current (wrong) version: '%s'" % sys.version_info)

sys.path.append('/Path/to/app.py/directory')
from app import app as application


3. Lägg till en Virtual Host https://dbwebb.se/kurser/linux/kmom02
Innehåll i yourconfigfile.conf:
Kod: Markera allt
<VirtualHost *:80>
    ServerName yourServerName

    WSGIDaemonProcess yourwsgi user=yourUser group=yourUser threads=5
    WSGIScriptAlias / /Path/to/your/yourwsgi.wsgi

    ErrorLog /path/to/errorlog/error.log
    CustomLog /path/to/accesslog/access.log combined


    <Directory /Path/to/your/yourwsgi.wsgi-directory>
        WSGIProcessGroup yourwsgi
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>


4. Följ linux kursens kmom02 för att lägga till i /etc/hosts och "enabla" din VH.
When in doubt, use brute force.

magi16

troubleshooter

  • Inlägg: 182
  • Blev medlem: 17 jul 2016, 15:55

Re: Flask i Apache2 med mod_wsgi

Inlägg26 mar 2017, 15:05

När jag skriver:
sudo apt-get -y install libapache2-mod-wsgi-py3
på min digital ocean droplet
så får jag :
E: Unable to locate package libapache2-mod-wsgi-py3

Vad kan detta bero på??

Jag har kört sudo apt-get update och sudo apt-get upgrade.
När jag kör sudo apt-cache search libapache2-
så hittar den bara
en annan version: libapache2-mod-wsgi - Python WSGI adapter module for Apache
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10988
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Flask i Apache2 med mod_wsgi

Inlägg26 mar 2017, 17:15

På Debian Sid får jag:
Kod: Markera allt
$ apt-cache search libapache2-mod-wsgi   
libapache2-mod-wsgi - Python WSGI adapter module for Apache                             
libapache2-mod-wsgi-py3 - Python 3 WSGI adapter module for Apache                       


på Debian Jessie får jag:
Kod: Markera allt
$ apt-cache search libapache2-mod-wsgi       
libapache2-mod-wsgi - Python WSGI adapter module for Apache       
libapache2-mod-wsgi-py3 - Python 3 WSGI adapter module for Apache
...
..:
.... /mos

magi16

troubleshooter

  • Inlägg: 182
  • Blev medlem: 17 jul 2016, 15:55

Re: Flask i Apache2 med mod_wsgi

Inlägg26 mar 2017, 18:20

Jag har: Debian GNU/Linux 8 (jessie)

När jag skriver: apt-cache search libapache2-mod-wsgi
så får jag:

libapache2-mod-wsgi - Python WSGI adapter module for Apache

Alltså samma system, olika svar
Användarvisningsbild

Allinrep

dbwebb

  • Inlägg: 1124
  • Blev medlem: 03 sep 2012, 09:19
  • Ort: Portugal (tillfälligt)

Re: Flask i Apache2 med mod_wsgi

Inlägg26 mar 2017, 22:37

Det kan ha att göra med vilka repositories ditt system har tillgång till. Här finns info om hur man ändrar sina Sources.

magi16

troubleshooter

  • Inlägg: 182
  • Blev medlem: 17 jul 2016, 15:55

Re: Flask i Apache2 med mod_wsgi

Inlägg27 mar 2017, 00:02

Det stämde att det hade att göra med sources.list
Jag hade tagit bort den filen ... skulle man inte göra hehe

Återskapade enligt instruktioner för Debian, och nu hittar den py3-varianten ovan.

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 15 gäster