Sida 1 av 1

Flask i Apache2 med mod_wsgi

InläggPostat: 16 dec 2016, 12:20
av Lew
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.

Re: Flask i Apache2 med mod_wsgi

InläggPostat: 26 mar 2017, 15:05
av magi16
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

Re: Flask i Apache2 med mod_wsgi

InläggPostat: 26 mar 2017, 17:15
av mos
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

Re: Flask i Apache2 med mod_wsgi

InläggPostat: 26 mar 2017, 18:20
av magi16
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

Re: Flask i Apache2 med mod_wsgi

InläggPostat: 26 mar 2017, 22:37
av Allinrep
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.

Re: Flask i Apache2 med mod_wsgi

InläggPostat: 27 mar 2017, 00:02
av magi16
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.