Előfeltételek
Telepítse a Python 3.7-et a webszerverére
Teszt Python
Előfeltételek
- Egy Vultr-szerver, amely a legfrissebb Arch Linuxot futtatja (lásd ezt a cikket .)
- Egy futó webszerver, Apache vagy Nginx
- Sudo hozzáférés:
- A rootként futtatandó parancsok előtagja a
#. A parancsok rootként való futtatásának javasolt módja az, hogy normál felhasználóként mindegyiket előtaggal írja elősudo
- Telepítsen egy szövegszerkesztőt, és ismerje azt, például vi, vim, nano, emacs vagy hasonló szerkesztő
Telepítse a Python 3.7-et a webszerverére
Apache-on
Sajnos nem támogatott az Apache modulok mindkét verziójának (Python 2.x és 3.x) egyidejű futtatása ugyanazon az Arch rendszeren, de ez ritkán jelent problémát.
A Python 3.x használata:
# pacman -S mod_wsgi
Engedélyezze az Apache mod_wsgimodult a szerkesztéssel /etc/httpd/conf/httpd.conf, és a LoadModuleparancsok listájának végéhez adja hozzá a következőket:
LoadModule wsgi_module modules/mod_wsgi.so
Az Nginx-en
A Python 3.x használata:
# pacman -S uwsgi-plugin-python
Teszt Python
A megfelelő könyvtárban hozza létre test.pya következő tartalommal:
#-*- 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
Apache-on
Adja hozzá a végéhez /etc/httpd/conf/httpd.conf, vagy ha több gazdagépet futtat, szerkessze a megfelelő konfigurációs fájlt, és adja hozzá a megfelelő <VirtualHost>blokkot:
WSGIScriptAlias /wsgi_app /srv/http/test.py
Indítsa újra az Apache-ot:
# systemctl restart httpd
Egy webböngészőben keresse fel a webhelyet http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_app, és megjelenik egy tesztoldal a python és a GCC verziókkal.
Törölje az test.pyimént létrehozott tesztfájlt, és az WSGIScriptAliasApache konfigurációjából.
Indítsa újra az Apache-ot:
# systemctl restart httpd
Az Nginx-en
Hozzon létre egy fájlt /etc/uwsgi/wsgi_app.inia következő tartalommal:
[uwsgi]
socket = /run/uwsgi/wsgi_app.sock
uid = http
gid = http
plugins = python
chdir = /usr/share/nginx/html/
wsgi-file=test.py
callable = application
Indítsa el az uWSGI szolgáltatást wsqi_app:
# systemctl start uwsgi@wsgi_app
A szerkesztéssel engedélyezze az Nginx számára az uWSGI használatát /etc/nginx/nginx.conf, és minden tesztelni kívánt szerverblokkhoz adja hozzá a következőket. Alternatív megoldásként, ha virtuális gazdagépeket használ, szerkessze minden gazdagép konfigurációs fájlját:
location ~ \wsgi_app {
root /usr/share/nginx/html/;
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/wsgi_app.sock;
}
Indítsa újra az Nginxet:
# systemctl restart nginx
Egy webböngészőben keresse fel a webhelyet http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_app, és megjelenik egy tesztoldal a python és a GCC verziókkal.
Törölje az test.pyimént létrehozott fájlt és az imént hozzáadott /etc/nginx/nginx.confhelyblokkot wsgi_app.
Indítsa újra az Nginxet:
# systemctl restart nginx
Az uWSGI szolgáltatás leállítása wsgi_app:
# systemctl stop uwsgi@wsgi_app
Törölje az imént létrehozott /etc/uwsgi/wsgi_app.iniés test.pytesztfájlokat.