Django termelési

Itt van egy útmutató felállítása termelési környezetet Django. Lesz ismertetjük a szükséges lépéseket, hogy hozzanak létre Django, uWSGI és nginx. Az útmutató mindhárom elemét - a teljes köteg szerver szoftver a webes alkalmazások.

A következmény az, hogy használ egy Unix-szerű operációs rendszer és a csomagkezelő, egyenértékű alkalmassági. Keresse alkalmassági megfelelője szinte bármilyen operációs rendszer, beleértve a Mac OS X, az Ön számára nem jelent nehézséget.

Útmutató napisno változat Django 1.4 vagy magasabb. Ha egy korábbi verzióját használja, akkor lehet, hogy megtalálják wsgi modul is. Azt is észre, hogy a fájl szerkezetét a projekt némileg eltérhet az ábrán.

általános elképzelés


A webszerver segítségével a felhasználók on-demand fájlokat a fájlrendszerben, de nem tudja, hogy közvetlenül a Django alkalmazásokat. Web-szerver interfész van szükség, amely elindítja a Django app át őt a felhasználó lekérdezést, és visszatér a választ.

A feladatokhoz lett kialakítva webszerver Gateway Interface - WSGI - Python szabványos átjárhatósági programok és web servra.

uWSGI - az egyik WSGI megvalósítások. Ebben a leckében fogjuk telepíteni és konfigurálni uWSGI hogy hozzon létre egy Unix socket és interakció WSGI protokollt a webszerver.

Teljes stack komponensek a következők:

Telepítése előtt uWSGI

virtualenv


Sozdadaem és aktiválja a virtuális környezetben a szoftver, amit lesz szükség (lásd alább megmutatom, hogyan kell telepíteni uwsgi globálisan):


Ustonavlivat Django a virtuális környezetben

Hozzon létre egy új projektet, és megy a gyökér mappában:

A tartomány és a kikötői

fogunk kapni felhasználói kéréseket port használatára 8000. segítségével bármilyen más kikötői. Azért választottam 8000 alkalmazása, mivel ez nem vezet a konfliktusokat más feladatokat a szerver.

Szerelése és az alap beállítási uWSGI

Telepítése uWSGI egy virtuális környezetben


Az egyik jó módja, hogy állítsa uWSGI:

Szükségünk van a Python fejlesztői csomagokat. Ha Debian vagy Debian-alap operációs rendszer (például Ubuntu vagy menta), telepíteni kell pythonX.Y-dev csomagot, ahol nem kezelt kontrollra vonatkoztatott - a megfelelő verzióját Python Önnek.


Készítsen test.py file:

Ellenőrzés alkalmazás Django


Most már annyira uWSGI dolgozott Django alkalmazást, és nem a fájl test.py.

Futunk az újonnan létrehozott mysite projekt:

UWSGI futnak az alábbiak szerint:


Ez nem jó, hogy a felhasználó Dive számítógépek közvetlen fellebbez uWSGI. És a felhasználó közötti uWSGI kell egy webszerver.

Ustnovki és az alapvető beállítási nginx

Telepíteni és futtatni nginx

Ha van egy forgalmas nyolcvanadik port, módosítsa a nginx konfigurációt úgy, hogy valamilyen egyéb (port használatára 8000 ebben a kézikönyvben nginx).

Nginx konfigurációs dolgozni Django


Szükségünk lesz uwsgi_params fájl, ami itt található: github.com/nginx/nginx/blob/master/conf/uwsgi_params.
Töltsd le a gyökérmappájába a projekthez.

Hozzon létre egy fájlt mysite_nginx.conf:

Ez konfigurációs fájl nginx tudott, hogy adjon a felhasználók a média és a statikus fájlokat a fájlrendszer, és az összes többi kérés továbbítása Django alkalmazás. A nagy projektek, hogy jobban használják ki a két szerver: az egyik szolgáló statikus és a média fájlok és egyéb alkalmazások Django. A kicsi, és még inkább az oktatási projektek, és egy szervert.

A mappa / etc / nginx / sites-enabled mysite_nginx.conf kapcsolatot hozzon létre a fájlt. nginx látni:

Statika egy helyen


A program indítása előtt nginx tenni a statikus statikus mappában. Ehhez hozzá mysite / settings.py fájlba a következő sort:

És ezt a parancsot:

Ellenőrizze ellenőrzés befejeződött statikus és a média

Tedd a fájl neve, például media.png a mappában / path / to / a / projekt / projektek / media könyvtárban.

nginx + uWSGI + test.py


Konfigurálása Nginx interakció és test.py keresztül uSWGI.

Szinte ugyanaz a dolog, hogy mi volt nedaval, kivéve egy lehetőséget:

  • foglalat: 8001. Az általunk használt uWSGI protokoll, port 8001


Ahogy emlékszem, már konfigurálva nginx (mysite_nginx.conf fájl) dolgozni uWSGI porton keresztül 8001.

UNIX virtuális helyett web portok


Ezt megelőzően, szoktuk mometna foglalat, amely kötődik a TCP port (hívtam a Web port), mert könnyebb volt, de valójában akkor ajánlott használni a Unix-foglalat, mert a teljesítmény előnyöket.

Szerkesztése mysite_nginx.conf alábbiak szerint:

És indítsa újra nginx

Ha nem működik


Ellenőrizze a napló nginx hibát, valószínűleg ő a var / log / nginx / error.log fájl

Ha úgy találja, van valami hasonló

így van egy probléma a hozzáférést mysite.sock fájlt. Szükséges, hogy a nginx volt engedélye, hogy ezt a fájlt.

Próbálja futtatni uWSGI az alábbiak szerint:

Vagy ez:
uwsgi --socket mysite.sock --wsgi-file test.py --chmod-socket = # 664 ésszerűbb

Eléréséhez problémák nem a jövőben, add meg a felhasználó számára, hogy a www-data-csoport.

Információ, uWSGI megjeleníti a terminál, hasznos és korrigálni az esetleges hibákat vagy meghibásodik.

nginx + uWSGI + Django

Összegyűjtöttük a teljes lánc, de a beállítás még nincs kész, megyünk tovább.

Configuration uWSGI keresztül ini fájl


Nagyon kényelmes, hogy az összes lehetőséget, hogy indítunk uWSGI adja az ini fájlban, és az átadást csak a fájl elérési útját induláskor.

Készítsen mysite_uwsgi.ini file:

Ellenőrizze. Minden munkát? További.

Állítsa uWSGI világszerte


Eddig uWSGI volt telepítve egy virtuális környezetben. Ahhoz, hogy automatikusan elindul uWSGI amikor az operációs rendszer, azt állítva, hogy az egész világon.

Kikapcsolása a virtuális környezet:

UWSGI wiki oldal leírja több telepítési lehetőséget. Mielőtt telepíti uWSGI globálisan, akkor nem árt verzióját válasszák és szerelési módszer.

Zapusit uWSGI lehet ugyanaz a csapat, mint korábban:

császár mód


Ha a szerver támogatja a több projektet, amelyek mindegyike használ uWSGI, akkor meg kell ispolzovat császár módra. Ebben megjelenítési mód uWSGI mappát konfigurációs fájlok és fut egy külön folyamat (rendelkezésre állási díj) az egyes fájlokhoz.

Ha az egyik konfigurációs fájlok fog változni, uWSGI újraindítása megfelelő vassal.

Hozzon létre egy mappát a konfigurációs fájlok:

Hozzon létre egy linket hozzá mysite_uwsgi.ini:

Fuss uWSGI a császár mód:

Avtomatichesey uWSGI után fut az operációs rendszer betöltése


A /etc/rc.local fájlt. mielőtt a vonal "exit 0" add:

Django termelési

Ellenőrző lista VPS optimalizálása PHP / MySQL / nginx
Hogyan biztosítható nagyobb teljesítményű VPS szerver, amely fut nginx + PHP + MySQL? Ez a cikk egy lista az alapbeállításokat, amelyek jelentősen optimalizálja a kiszolgáló teljesítményét. Beállítása kevesebb, mint 10 perc, és nem igényel mást, mint szerkesztése konfigurációs fájlokat.

Django termelési

Telepítése Weboldalsebesség modul nginx Debian 6
Néhány éve, a Google kiadta a modul az Apache Web-szerver és nginx, amely egy sor szűrők és jelentősen javíthatja a webhely teljesítményét. Ebben a bejegyzésben nem beszélünk a technológia és a leírás a modul és a telepítés és az alap konfigurációt. A telepítés leírása kerül sor csak nginx. telepítés

Átvitele hely ellenőrzése alatt WordPress egy otthoni szerver Ubuntu 13.10 +.
A probléma a következő volt: mozgassa a blog készült a WordPress az otthoni szerverre. Minden céljára a kísérletet. Telepítse nginx, PHP (ne felejtsük el, hogy install php5-FPM), a MySQL nem fogja leírni - ez csak a gyári beállítás kell dolgozni. Mégis, mi szükség van a mentést a helyszínen, és az adatbázis. Úgy lehet beszerezni a tárhely, ahol

Django termelési

Django termelési

Multi-hosting Django alkalmazást nginx + uwsgi + virtualenv
Célkitűzés: telepíteni több Django-projektek, amelyek különböző változatai az övé, és python különböző változatai ugyanazon a szerveren. Utasítást kap az operációs rendszer Ubuntu 12.04. Előkészítés megkezdéséhez fel érdekeit mi változata python. Szükséges csomagok összeállításához: sudo apt-get install zlib1g zlib1g-dev zlibc csomagot.

Kapcsolódó cikkek