Prerequisiti
- Un server Vultr in esecuzione su Arch Linux aggiornato (vedi questo articolo .)
- Un server web in esecuzione, Apache o Nginx
- Accesso al Sudo:
- I comandi che devono essere eseguiti come root sono preceduti da
#. Il modo raccomandato per eseguire i comandi come root è, come utente normale, aggiungere un prefisso a ciascuno di essisudo
- Avere un editor di testo installato e conoscerlo, come vi, vim, nano, emacs o un editor simile
Installa Python 3.7 sul tuo server web
Su Apache
Sfortunatamente, non è supportato eseguire entrambe le versioni dei moduli Apache (per Python 2.xe 3.x) contemporaneamente sullo stesso sistema Arch, ma raramente questo è un problema.
Per usare Python 3.x:
# pacman -S mod_wsgi
Abilita il mod_wsgimodulo Apache modificando /etc/httpd/conf/httpd.confe alla fine dell'elenco dei LoadModulecomandi aggiungi quanto segue:
LoadModule wsgi_module modules/mod_wsgi.so
Su Nginx
Per usare Python 3.x:
# pacman -S uwsgi-plugin-python
Prova Python
All'interno della directory appropriata, creare test.pycon i seguenti contenuti:
#-*- 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
Su Apache
Aggiungi alla fine di /etc/httpd/conf/httpd.conf, o se stai eseguendo più host, modifica il file di configurazione appropriato e aggiungi il <VirtualHost>blocco appropriato :
WSGIScriptAlias /wsgi_app /srv/http/test.py
Riavvia Apache:
# systemctl restart httpd
In un browser Web, visitare http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_appe verrà visualizzata una pagina di prova con le versioni Python e GCC.
Elimina il test.pyfile di test appena creato e WSGIScriptAliasnella configurazione di Apache.
Riavvia Apache:
# systemctl restart httpd
Su Nginx
Creare il file /etc/uwsgi/wsgi_app.inicon i seguenti contenuti:
[uwsgi]
socket = /run/uwsgi/wsgi_app.sock
uid = http
gid = http
plugins = python
chdir = /usr/share/nginx/html/
wsgi-file=test.py
callable = application
Inizia a servire uWSGI wsqi_app:
# systemctl start uwsgi@wsgi_app
Consenti a Nginx di utilizzare uWSGI modificando /etc/nginx/nginx.confe per ogni blocco server che desideri testare, aggiungi quanto segue. In alternativa, se si utilizzano host virtuali, modificare il file di configurazione di ciascun host:
location ~ \wsgi_app {
root /usr/share/nginx/html/;
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/wsgi_app.sock;
}
Riavvia Nginx:
# systemctl restart nginx
In un browser Web, visitare http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_appe verrà visualizzata una pagina di prova con le versioni Python e GCC.
Elimina il test.pyfile che hai appena creato e il blocco posizione che hai appena aggiunto /etc/nginx/nginx.confper wsgi_app.
Riavvia Nginx:
# systemctl restart nginx
Smetti di servire uWSGI wsgi_app:
# systemctl stop uwsgi@wsgi_app
Elimina i file di prova /etc/uwsgi/wsgi_app.inie test.pyappena creati.