Forutsetninger
Installer Python 3.7 på din webserver
Test Python
Forutsetninger
- En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen .)
- En kjørende webserver, enten Apache eller Nginx
- Sudo-tilgang:
- Kommandoer som kreves for å kjøres som root, er prefikset av
#. Den anbefalte måten å kjøre kommandoer som root er å, som en vanlig bruker, prefiksere hver av dem medsudo
- Ha et tekstredigeringsprogram installert, og bli kjent med det, for eksempel vi, vim, nano, emacs eller en lignende editor
Installer Python 3.7 på din webserver
På Apache
Dessverre støttes det ikke å kjøre begge versjonene av Apache-moduler (for Python 2.x og 3.x) samtidig på samme Arch-system, men dette er sjelden et problem.
Slik bruker du Python 3.x:
# pacman -S mod_wsgi
Aktiver Apache- mod_wsgimodulen ved å redigere /etc/httpd/conf/httpd.conf, og på slutten av listen over LoadModulekommandoer legger du til følgende:
LoadModule wsgi_module modules/mod_wsgi.so
På Nginx
Slik bruker du Python 3.x:
# pacman -S uwsgi-plugin-python
Test Python
Innenfor den aktuelle katalogen, opprett test.pymed følgende innhold:
#-*- coding: utf-8 -*-
def wsgi_app(environment, start_response):
import sys
output = sys.version.encode('utf8')
status = '200 OK'
headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, headers)
yield output
application = wsgi_app
På Apache
Legg til på slutten av /etc/httpd/conf/httpd.conf, eller hvis du kjører flere verter, rediger den aktuelle konfigurasjonsfilen og legg til i den aktuelle <VirtualHost>blokken:
WSGIScriptAlias /wsgi_app /srv/http/test.py
Start Apache på nytt:
# systemctl restart httpd
I en nettleser, besøk http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_app, og du vil se en testside med python- og GCC-versjonene.
Slett test.pytestfilen du nettopp opprettet, og WSGIScriptAliasi din Apache-konfigurasjon.
Start Apache på nytt:
# systemctl restart httpd
På Nginx
Lag filen /etc/uwsgi/wsgi_app.inimed følgende innhold:
[uwsgi]
socket = /run/uwsgi/wsgi_app.sock
uid = http
gid = http
plugins = python
chdir = /usr/share/nginx/html/
wsgi-file=test.py
callable = application
Start uWSGI-servering wsqi_app:
# systemctl start uwsgi@wsgi_app
Tillat Nginx å bruke uWSGI ved å redigere /etc/nginx/nginx.conf, og for hver serverblokk du vil teste, legg til følgende. Alternativt, hvis du bruker virtuelle verter, rediger hver verts konfigurasjonsfil:
location ~ \wsgi_app {
root /usr/share/nginx/html/;
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/wsgi_app.sock;
}
Start Nginx på nytt:
# systemctl restart nginx
I en nettleser, besøk http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_app, og du vil se en testside med python- og GCC-versjonene.
Slett test.pyfilen du nettopp opprettet, og plasseringsblokken du nettopp har lagt til /etc/nginx/nginx.conffor wsgi_app.
Start Nginx på nytt:
# systemctl restart nginx
Stopp uWSGI-servering wsgi_app:
# systemctl stop uwsgi@wsgi_app
Slett /etc/uwsgi/wsgi_app.iniog test.pytestfilene du nettopp opprettet.