Pyramid: Różnice pomiędzy wersjami

(Konfiguracja Phusion Passenger)
 
(Nie pokazano 7 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
{{stub}}
 
 
Pyramid to webowy framework do [[Python]]a na licencji BSD. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger.
 
Pyramid to webowy framework do [[Python]]a na licencji BSD. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger.
  
 
=== Wstępna konfiguracja ===
 
=== Wstępna konfiguracja ===
  
Do uruchomienia strony napisanej w ''Pyramid'' należy pierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
+
Do uruchomienia strony napisanej w ''Pyramid'' należy najpierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
  
* Dodano środowisko [[virtualenv]] dla pythona 2.7 i zainstalowano pyramid.
+
* Dodano środowisko [[virtualenv]] dla pythona 2.7 i zainstalowano pyramid - <code>pip install pyramid</code>.
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
* Została dodana [[WWW|Strona WWW]] z wskazaniem typu [[Python]].
+
* Została dodana [[WWW|strona WWW]] typu [[python]] oraz ścieżką do pliku binarnego <code class="directory>>python</code> wewnątrz wcześniej skonfigurowanego środowiska.
  
 
=== Projekt Pyramid ===
 
=== Projekt Pyramid ===
  
Głównym katalogiem projektu ''Pyramid'' musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>. Należy również usunąć plik index.html poleceniem <code>rm /usr/home/''login''/domains/''domena''/public_python/static/index.html</code>.
+
Głównym katalogiem projektu ''Pyramid'' musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>. Należy również usunąć plik index.html poleceniem <code>rm /usr/home/''login''/domains/''domena''/public_python/public/index.html</code>.
  
 
=== Konfiguracja ''Phusion Passenger'' ===
 
=== Konfiguracja ''Phusion Passenger'' ===

Aktualna wersja na dzień 13:49, 20 wrz 2017

Pyramid to webowy framework do Pythona na licencji BSD. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger.

Wstępna konfiguracja

Do uruchomienia strony napisanej w Pyramid należy najpierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Dodano środowisko virtualenv dla pythona 2.7 i zainstalowano pyramid - pip install pyramid.
  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
  • Została dodana strona WWW typu python oraz ścieżką do pliku binarnego >python wewnątrz wcześniej skonfigurowanego środowiska.

Projekt Pyramid

Głównym katalogiem projektu Pyramid musi być folder /usr/home/login/domains/domena/public_python. Należy również usunąć plik index.html poleceniem rm /usr/home/login/domains/domena/public_python/public/index.html.

Konfiguracja Phusion Passenger

Ostatnim krokiem jest konfiguracja modułu Phusion Passenger, który jest odpowiedzialny za uruchomienie aplikacji Pyramid. Należy w katalogu projektu Pyramid(/usr/home/login/domains/domena/public_python) utworzyć plik passenger_wsgi.py i umieścić w nim następującą zawartość, modyfikując linijkę importu:

import sys, os
sys.path.append(os.getcwd())
from aplikacja import app as application

Przykładowy plik aplikacja.py (do umieszczenia w katalogu witryny w celu przetestowania działania Pyramid):

from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response

def hello_world(request):
    return Response('Hello %(name)s!' % request.matchdict)

config = Configurator()
config.add_route('hello', '/hello/{name}')
config.add_view(hello_world, route_name='hello')
app = config.make_wsgi_app()

if __name__ == '__main__':
    server = make_server('0.0.0.0', 8080, app)
    server.serve_forever()

Odnośniki Zewnętrzne