Ustvarjanje aplikacije Python v cPanelu (Setup Python App)

cPanel Branje: 3 min

Na naših gostovanjih cPanel lahko poganjaš tudi spletno aplikacijo Python, na primer na osnovi Flask ali Django. Aplikacije upravlja CloudLinux Python Selector, ki je v cPanelu dosegljiv pod imenom Setup Python App. Vsaka aplikacija dobi lastno virtualno okolje (virtualenv) z izbrano različico Python, aplikacijo pa poganja Phusion Passenger.

Passenger poganja aplikacije WSGI. To je primerno za Flask, Django in večino klasičnih spletnih ogrodij Python. Za ogrodja na osnovi ASGI (na primer FastAPI) je potreben adapter WSGI.

Ustvarjanje aplikacije

  1. Prijavi se v cPanel in v skupini Programska oprema klikni ikono Setup Python App. Seznam SPLETNE APLIKACIJE na strani Python, ki se odpre, kaže že ustvarjene aplikacije.
  2. Klikni gumb USTVARI APLIKACIJO.
  3. Izpolni polja:
    • Različica Python: različica Python, ki jo želiš uporabljati.
    • Koren aplikacije: imenik aplikacije glede na tvoj imenik (/home/felhasznalo), na primer pyapp. Ne navedi imenika public_html.
    • URL aplikacije: domena in pot, na kateri bo aplikacija dosegljiva.
    • Zagonska datoteka aplikacije: vstopna datoteka. Privzeto passenger_wsgi.py.
    • Vstopna točka aplikacije: ime objekta WSGI v vstopni datoteki. Privzeto application.
    • Dnevniška datoteka Passenger: sem pridejo sporočila o napakah aplikacije, na primer /home/felhasznalo/logs/pyapp.log.
  4. V zgornjem desnem kotu klikni gumb USTVARI.

Python: obrazec USTVARI APLIKACIJO z različico, imenikom, URL-jem in vstopno točko aplikacije

Pomembno: imeniku aplikacije ne daj imena python37, python38, python311 ali podobnega, ker to povzroči napako.

cPanel ustvari imenik, virtualno okolje in vzorčno datoteko passenger_wsgi.py, ki prikaže preprosto stran „It works!”. Na naslovu URL aplikacije lahko preveriš, ali deluje.

Namestitev paketov

  1. Datoteke aplikacije in datoteko requirements.txt naloži v imenik Koren aplikacije.
  2. V vmesniku Setup Python App klikni ikono za urejanje (svinčnik) ob aplikaciji.
  3. V razdelku Konfiguracijske datoteke v polje Dodajte dodatno datoteko in pritisnite Enter vpiši: requirements.txt in pritisni Enter (ali klikni gumb Dodaj).
  4. Klikni gumb Zaženi namestitev Pip in na spustnem seznamu izberi datoteko requirements.txt. Namestitev traja, odvisno od velikosti datoteke, od nekaj sekund do nekaj minut.
  5. Aplikacijo znova zaženi z gumbom ZNOVA ZAŽENI.

Urejanje aplikacije Python: ukaz virtualnega okolja, Konfiguracijske datoteke, Zaženi namestitev Pip z datoteko requirements.txt, Izvedi skript Python

V polju Izvedi skript Python lahko z gumbom Zaženi skript zaženeš skript Python v okolju aplikacije (na primer manage.py migrate).

Aplikacija Flask

Če je aplikacija Flask v datoteki app.py in je ime objekta app:

# app.py
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Pozdrav iz aplikacije Flask!"

naj bo vsebina passenger_wsgi.py ta:

from app import app as application

V datoteko requirements.txt vpiši vrstico flask, nato pakete namesti na zgoraj opisani način.

Aplikacija Django

Pri Djangu passenger_wsgi.py naloži aplikacijo WSGI projekta. Če je ime projekta myproject:

import os
import sys

sys.path.insert(0, os.path.dirname(__file__))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

Pri nastavitvah ne pozabi:

  • v datoteki settings.py domeno dodaj na seznam ALLOWED_HOSTS;
  • na produkcijski strani naj bo vrednost DEBUG False;
  • statične datoteke z ukazom python manage.py collectstatic prekopiraj v javni imenik (na primer v podimenik public_html), STATIC_ROOT pa naj kaže nanj;
  • podatkovno bazo ustvari v cPanelu, glej: Ustvarjanje podatkovnih baz in uporabnikov MySQL.

Okoljske spremenljivke

Na strani za urejanje aplikacije lahko z gumbom DODAJ SPREMENLJIVKO vneseš okoljske spremenljivke, na primer vrednost SECRET_KEY za Django ali geslo podatkovne baze. Aplikacija jih prebere s pomočjo os.environ. Po shranjevanju aplikacijo znova zaženi.

Ponovni zagon po spremembi

Po spremembi kode je treba aplikacijo znova zagnati: klikni gumb ZNOVA ZAŽENI na vrhu strani za urejanje ali ikono ponovnega zagona v stolpcu Dejanja seznama aplikacij. Z gumbom USTAVI APLIKACIJO jo lahko ustaviš, z gumbom UNIČI pa aplikacijo izbrišeš.

Uporaba v ukazni vrstici (SSH)

V paketih z dostopom SSH (cP Premium, cP Pro in cP Pro 100) lahko v virtualno okolje aplikacije vstopiš tudi iz terminala, na primer za ukaze Django manage.py. Točen ukaz vmesnik Setup Python App pokaže na vrhu strani za urejanje aplikacije in je videti tako:

source /home/felhasznalo/virtualenv/pyapp/3.12/bin/activate && cd /home/felhasznalo/pyapp

Nato ukaza python in pip tečeta v okolju aplikacije:

pip install -r requirements.txt
python manage.py migrate

Iskanje napak

  • Če stran javi napako, poglej dnevniško datoteko, navedeno v polju Dnevniška datoteka Passenger.
  • Preveri, ali se ime Vstopne točke aplikacije ujema z imenom objekta v datoteki passenger_wsgi.py.
  • Aplikacija teče znotraj omejitev virov računa gostovanja. Ob pomanjkanju pomnilnika preveri porabo virov.
Nazaj: cPanel – članki (48)