Maitiro ekuisa chikumbiro cheDjango:

Zvakadini nekukwazisa mose, ichi ndicho chinyorwa changu chekutanga mu <» DesdeLinux (de varios que tengo en mis borradores xD), espero les sea de utilidad 😀

Zvakanaka, mune rangu nyowani uye razvino basa, panguva ino kutama kwemaitiro akati wandei kuenda kuDjango kuri kuitiswa (kushamisa sei eh? XD) uye rimwe rebasa rangu, kunze kwekusimudzira, iko kuisa mukugadzirwa kweizvi, saka se mudzidzi akanaka, sezvo yaive nguva yangu yekutanga kuisa kunyorera mukugadzira pane chaiyo server: $ Ini ndakatanga kuverenga iyo yepamutemo doc yeimwe neimwe inodiwa mapakeji eiyo stack (Gunicorn neSupervisord kupfuura ese), uye ndichiona kuti ivo vadzidzisi MuSpanish vaive vasina kunyatso kujekerwa kwandiri mune zvimwe zvinhu, ndakafunga kugadzira mini gwara nematanho andakateedzera kuisa kunyorera mukugadzira, zvichibva paDjango, Gunicorn, Supervisord, Nginx uye Postgresql stack.

Muchiitiko chandinoshanda, maseva achiri kumhanya naDebian Squeeze, asi gwara rinofanirwa kuve rakakwana kune kumwe kugovera ... saka ngatisvikei pakananga titange:

Ini ndichashanda semushandisi mushandisi. Chekutanga pane zvese, anotevera mapakeji anodikanwa:

Pip -> Chishandiso chekuisa nekugadzirisa mapakeji ePython
aptitude install python-pip

Nginx -> Webhu server (isu tichaishandisa seyakagumisa proxy uye cache iyo static mafaera 'img, js, css') Tinoriisa ne:
aptitude install nginx

Foromani -> Kuteedzera kubata uye kuongorora kunyorera kwedu, kunyangwe iko kuchishandiswa zvimwe zvakawanda. Tinoriisa ne:
aptitude install supervisor

virtualenv -> Zvinotibatsira kugadzira yakajairwa chaiyo yekuuraya nharaunda kune kwedu kunyorera. Tinoriisa ne:
aptitude install python-virtualenv

gunicorn -> webhu server ye python (hatisi kuzoisa izvi izvozvi)

Ini ndinofungidzira vanofanira kunge vatove ne postgresql yakaiswa uye yakagadzirirwa

psychopg2 -> Postgresql chinongedzo che python (hatisi kuzochiisa futi)

Gadzira chaiyo nharaunda ine hunhu:

Kutanga tichaenda kune dhairekitori rinoshanda ratichazoshandisa kuisa mukugadzira:
cd /var/www/

Zvino mune ino dhairekitori isu tichagadzira iyo chaiyo nharaunda.
virtualenv ENV-nombreApp

Isu tinotamira kune dhairekitori iro ini ndichangobva kugadzira hunhu
cd ENV-nombreAPP

Isu tinoteedzera kunyorera mune ino dhairekitori uye ikozvino tinoenderera nekumisikidza nharaunda ne:
source bin/activate

Iyo yekukurumidza inofanira ikozvino kutaridzika senge (ENV)usuario@host:

Izvi zvino zvaizoita zvese zvatinoita zvakachengetwa mudhairekitori / var / www / ENV-appname / pasina kukanganisa system mapakeji

Iye zvino taenda kune dhairekitori rekunyorera:
cd nombreApp

Isu tinoenderera mberi nekuisa iyo rondedzero yeapplication kutsamira (kana zvichidikanwa), umo mavanotsanangurwa mufaira zvinodiwa.txt:
pip install -r requirements.txt

Tinogona zvakare kuisa mapakeji pachedu, semuenzaniso, kuisa chinongedzo che postgresql:
pip install psycopg2

GUnicorn kuisirwa uye kumisikidzwa:

Kuti tiise iyo tinozviita nenzira imwechete:
pip install gunicorn

Iye zvino tava kuzoimisa, nekuti izvi isu tichagadzira faira inonzi gunicorn-deploy.py mumudzi wekushandisa kwedu, (kunyangwe zita racho richigona kuve chero chinhu) nezvirimo zvinotevera:

bind = "127.0.0.1:8001" # dirección a donde accederá Nginx
logfile = "/var/www/logs/nombreApp/gunicorn.log" # dirección donde estarán los logs de la aplicación
workers = 1 # dependerá en medida de la carga de trabajo que tenga la aplicación, también depende del hardware con que se cuente
loglevel = 'info' # tipo de logging

Supervisord kumisikidza:

Zvino ngatisete iyo foromani, pane izvo isu tinogadzira iyo yekumisikidza faira ne

echo_supervisord_conf > /etc/supervisord.conf

Iye zvino isu tinogadzirisa iyo yekumisikidza faira:
vim /etc/supervisord.conf

Uye isu tinosunungura mitsara inotevera nekubvisa iyo; (semicolon):

[unix_http_server] file = / tmp / supervisor.sock [supervisord] logfile = / var / log / supervisord.log logfile_maxbytes = 50MB logfile_backups = 10 loglevel = debug pidfile = / var / run / supervisord.pid nodaemon = nhema minfds = 1024 = 200 [rpcinterface: supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface: make_main_rpcinterface [supervisorctl] serverurl = unix: [chirongwa: appname] command = / var / www / ENV-appname / bin / django_unicorn -c / var / www / ENV -Appname / appname / gunicorn-deploy.py dhairekitori / / var / www / ENV-appname / appname / autostart = chokwadi autorestart = mushandisi wechokwadi = Username redirect_stderr = chokwadi stdout_logfile = / var / www / matanda / appname / supervisord.log

Iye zvino isu tichagadzira iyo script yekuti manejimendi atange nehurongwa, nekuda kweizvozvo isu tichagadzira iyo faira:
vim /etc/init.d/supervisord

Uye isu tinowedzera zvinotevera zvirimo:

 # Supervisord auto-kutanga # # tsananguro: Auto-inotanga manejimendi # processname: supervisord # pidfile: /var/run/supervisord.pid SUPERVISORD = / usr / yemuno / bin / supervisord SUPERVISORCTL = / usr / yemuno / bin / bhaisikopo kesi $ 1 pakutanga) echo -n "Kutanga maneja:" $ SUPERVISORD echo ;; mira) echo -n "Kumisa manejimendi:" $ SUPERVISORCTL shutdown echo ;; restart) echo -n "Kumisa maneja:" $ SUPERVISORCTL kudzima echo echo -n "Kutanga manejimendi:" $ SUPERVISORD echo ;; C uyo

Uye ikozvino isu tinopa kuendesa mvumo kune iyo faira kuitira kuti itange nehurongwa:
sudo chmod +x /etc/init.d/supervisord

Isu tinogadziridza zvinongedzo kuti titange sevhisi:
sudo update-rc.d supervisord defaults

Isu tinotanga sevhisi:
sudo /etc/init.d/supervisord start

Kugadzira nginx:

Iyi nhanho zvakare yakapusa, isu tichagadzira inotevera yekumisikidza faira ye nginx yedu chikumbiro:

vim /etc/nginx/sites-enabled/nombreApp

Uye isu tichawedzera zvinotevera zvirimo kwauri

sevha {teerera 9001; # chiteshi kwavanoda nginx kuteerera server_name www.domain.com; # kana 192.168.0.100, kero iyo isu tichawana kupinda_log /var/log/nginx/Appname.access.log; # apo patichava nenzvimbo yekushandisa danda / {# apo nginx ichafona kana uchiwana www.dominio.com/ proxy_pass http: // 127.0.0.1: 8001; proxy_set_header Host $ http_host; } nzvimbo / static / {# apo nginx inosvika kana tapinda www.domain.com/static/ alias / var / www / ENV-appname / appname / staticfiles /; }}

Uye isu tinotangazve nginx:
service nginx restart

Kugadzira Django:

Ngatishandurei django yekumisikidza faira:
vim nombreApp/settings.py

Tinotsvaga mutsara unoti DEBUG = Ichokwadi uye isu tinoshandura kukosha, asara BHUKU = Nhema

Isu tinowedzera iyo DB parameter:

DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', # kana mysql, kana chero 'NAME': 'DBName', 'USER': 'DBUser', 'PASSWORD': 'password DB ',' HOST ':' localhost ', # kana iyo yavanoda' PORT ':' ', # kana iyo yavari kushandisa}}

Tinotsvaga mutsara ZVINOTENDESWA_HOSTS = [] uye isu tinowedzera duraini kana kero iyo yatinozowana, tichisiya chimwe chakadai ZVINODZIDZISWA_HOSTS = ['www.domain.com']

Isu tinogadzirisa dhairekitori remafaira emira, tinotsvaga mutsara unoti STATIC_ROOT = ' ' uye isu tinoshandura kukosha, tichiisa iyo chaiyo nzira kwatinoda kuti mafaira edu ave, mune yangu ini ndakaisiya zvakanyanya kana zvishoma seizvi STATIC_ROOT='/var/www/ENV-nombreApp/nombreApp/statics/'

Tave kupera, isu tinoita inotevera kuraira:
./manage.py collectstatic

Izvi zvinogadzira dhairekitori rine zita 'static munzira yatino tsanangura mu marongero.py ', ndipo pachave ese edu emafaira mafaira achave.

Uye pakupedzisira isu tinotangazve manejimendi kuti atore shanduko nyowani:
supervisorctl restart nombreApp

Uye izvo zvaizove zvese, pakupedzisira zvaisave zvakanyanya chokwadi? zvaiita sezviri nyore kwandiri 😀

Ndinovimba ichabatsira kwauri, kwaziso 😉

GUnicorn zvinyorwa

Zvinyorwa zve Supervisord


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako

  1.   f3niX akadaro

    Ini ndinonzwisisa kuti iyo Django app haifanire kuiswa mumudzi wewebhu server dhairekodhi (/ var / www)? Zvekuchengetedza, ini handizive kana ndiri kukanganisa.

    Thanks.

    1.    urKh akadaro

      Zvese zvakanaka !!! Chaive chinhu chandanga ndisingazive zvachose, ndichagadzirisa iyo yekupinda 😛 uye pandinongodzoka neMuvhuro ndinoita shanduko mune xD application
      gracias

  2.   Rodrigo Bravo (goidor) akadaro

    Epale mukoma dzidziso yakanaka. Munguva pfupi yapfuura ini ndaivewo mumwe chete asi muDebian 7, ndaifanira kutsvaga nekuverenga zvimwe kana zvishoma. Ini ndinokurudzira kuti iwe ugadzire chaiyo nharaunda yehunhu hwakanaka mumusha wemushandisi mune yakavanzika dhairekitori.

    Ndinokutendai!

  3.   Shandisa Fenriz akadaro

    hahaha ctm ini nezuro ndinonyora Django uye wave kutopfuura nemu galaxy 999999 Kwazisai varume xD

  4.   daniel2ac akadaro

    Chinyorwa chakanaka kwazvo =) vhiki imwe chete yapfuura ndakaendesa yangu django app asi ndakazviita neuzigi uye nginx, unoziva here kuti gunicorn ine mukana wei? Ndakaona ichitaurwa zvakawanda.
    Zvakanaka kuona kuti django iri kuve inozivikanwa kwazvo, chokwadi ndicho chakanakisa chimiro chandakaona =)

  5.   ndizvo ozkan akadaro

    Zve STATIC_ROOT zvandinoita kutsanangura musiyano wepasirese. Chinhu chakadai.

    import os
    PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))
    STATIC_ROOT = os.path.join(PROJECT_PATH, '../backend/static')

    Iko backend iri app yandakagadzira. Saka ini ndinove nechokwadi chekuti kwandinoendesa chirongwa, nzira yepasirese yakafanana.

  6.   sgmart akadaro

    Zvinonakidza, ini ndichaedza mune ramangwana.

    Nenzira, pane chero munhu anoziva Maitiro ekugonesa maacnc uye asiri-ascii mavara mune django application?

    Ndatarisa kwese kwese, hapana imwe yedzinotevera nzira inondishandira:
    sys.setdefaultencoding ('utf-8') # mumasayiti.py

    # - * - kukodha: utf-8 - * - # mune yega python faira

    Kugadzirisa saiti.py, uye kuisa utf-8 pachinzvimbo cheascii inofanirwa kushanda, asi $ file models.py inondizivisa kuti faira rangu richiri ascii.

    Chero Mazano?

    1.    sgmart akadaro

      Yakashanda !!!!

  7.   zvidzori akadaro

    yakanaka kwazvo dzidziso asi iwe unogona kuita imwe yenzira yekuisa yangu app pane yewebhu server yatove mukugadzirwa
    gracias