Shigarwa da Haɓaka Tsarin Yanar Gizo na Django tare da Mahalli Mai Kyau a CentOS/Debian - Kashi na 1


Kimanin shekaru 20 da suka wuce lokacin da Gidan Yanar Gizon Yanar Gizo na Duniya ya kasance a ƙuruciyarsa, samun gidan yanar gizo na sirri ko na kasuwanci kusan abu ne na alatu. Tare da ci gaban fasahar yanar gizo da yawa da kuma ƙaddamar da abun ciki mai ƙarfi da aka samar ta hanyar haɗin shirye-shiryen gefen uwar garken da bayanan bayanai, kamfanoni ba za su iya gamsuwa da samun tsayayyen gidan yanar gizo ba.

Don haka, aikace-aikacen yanar gizon ya zama gaskiya - shirye-shirye a cikin cikakkiyar ma'anar kalmar da ke gudana a saman sabar yanar gizon kuma ana samun dama ta hanyar mai binciken gidan yanar gizo.

Don sauƙaƙe haɓakawa kuma mafi inganci, an tsara tsarin yanar gizo don taimakawa masu shirye-shirye a ƙoƙarinsu na ƙirƙirar aikace-aikace. A takaice, tsarin gidan yanar gizo yana kula da abubuwan gama gari na yau da kullun a cikin tsarin haɓakawa kamar mu'amala da gudanar da zaman mai amfani, hulɗa tare da bayanan bayanai, da kyakkyawan aiki na kiyaye dabarun kasuwanci daban da dabaru na nuni, don suna wasu misalai.

A cikin wannan jerin Django mai jigo 3, za mu gabatar muku da Django, sanannen tsarin gidan yanar gizon da ya danganci Python. Don wannan dalili, ana ba da shawarar aƙalla ɗan saba da wannan yaren shirye-shiryen amma idan ba ku da ɗan gogewa game da shi, za mu kuma bi ku ta hanyar abubuwan yau da kullun.

Shigar da Django a cikin CentOS da Debian Servers

Ko da yake za ka iya shigar da Django daga duka Debian (v1.7.7: za a dakatar da tallafi a kan Disamba 2015) da kuma Fedora EPEL (v1.6.11: An dakatar da goyon baya a kan Afrilu 2015), samfurin da ke samuwa ba shine sabuwar barga LTS ba. (Taimakon Dogon Lokaci) saki (v1.8.13, kamar na Mayu 2016).

A cikin wannan koyawa za mu nuna muku yadda ake shigar da Django v1.8.13 tun da an ba da tabbacin tallafinsa har zuwa aƙalla Afrilu na 2018.

Hanyar da aka ba da shawarar don shigar da Django shine ta hanyar pip, sanannen kayan aiki don sarrafa fakitin Python. Har ila yau, don ƙirƙirar wuraren da aka keɓance na Python da kuma guje wa rikice-rikice tsakanin ayyukan da za su iya buƙatar nau'o'in dogaro da software daban-daban, ana ƙarfafa yin amfani da mahallin kama-da-wane.

Kayan aikin da ake amfani da su don ƙirƙira da sarrafa mahallin Python kama-da-wane ana kiran su virtualenv.

Bi waɗannan matakan don aiwatar da shigarwa:

1. Don rarraba tushen Fedora (sai dai a cikin Fedora kanta), kunna ma'ajin EPEL da farko:

# yum update && yum install epel-release

2. Shigar pip da virtualenv:

# yum install python-pip python-virtualenv
OR 
# dnf install python-pip python-virtualenv
# aptitude update && aptitude install python-pip virtualenv

3. Ƙirƙiri adireshi don adana aikinku na farko.

# mkdir ~/myfirstdjangoenv
# cd ~/myfirstdjangoenv

4. Ƙirƙiri kuma kunna yanayin kama-da-wane:

# virtualenv myfirstdjangoenv

Umurnin da ke sama yana haifar da tarin fayiloli da kundin adireshi cikin ~/myfirstdjangoenv kuma ainihin shigar da kwafin Python na gida da pip a cikin kundin aiki na yanzu. Na gaba, muna buƙatar kunna yanayin kama-da-wane da muka ƙirƙira yanzu:

# source myfirstdjangoenv/bin/activate

5. Lura yadda saurin umarni ke canzawa bayan umarni na ƙarshe. Yanzu lokaci yayi da za a shigar da Django:

Lura cewa an ɗauki hoton hoton da ke ƙasa yayin sigar baya ta wannan koyawa, amma fitowar da ake tsammani iri ɗaya ce lokacin shigar da Django 1.8.13):

# pip install Django==1.8.13

Kuna iya duba sigar Django ta hanyar ƙaddamar da harsashi Python daga littafin ku na aiki na yanzu:

# python
>>> import django
>>> print(django.get_version())

(Haka kuma, umarnin da ke sama yakamata ya dawo 1.8.13 lokacin duba sigar Django na yanzu).

Don fita Python faɗakarwa, rubuta:

>>> exit() 

kuma danna Shigar. Na gaba, kashe mahallin kama-da-wane:

# deactivate

Lura cewa yayin da yanayin kama-da-wane ya ci gaba da kashewa, babu Django:

Yadda ake Ƙirƙirar Aikin Farko a Django

Don ƙirƙirar aiki a cikin mahallin kama-da-wane da muka ƙirƙira a baya, yana buƙatar kunna shi:

# source myfirstdjangoenv/bin/activate

Na gaba, tsarin zai ƙirƙiri tsarin tsarin duka don adana aikin ku. Don yin wannan, kuna buƙatar gudu.

# django-admin startproject myfirstdjangoproject

Umurnin da ke sama zai ƙirƙiri adireshi mai suna myfirstdjangoproject a cikin kundin adireshin ku na yanzu.

inda zaku sami fayil mai suna manage.py (wani kayan aiki wanda zai taimaka muku sarrafa aikin ku daga baya) da kuma wani babban fayil (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Wannan ƙaramin kundin adireshi na ƙarshe zai zama akwati don fayilolin aikin.

Yayin da sauran fayilolin za su yi ma'ana ta gaske bayan mun sake nazarin wasu Python don fara rubuta ainihin aikace-aikacen gidan yanar gizo, yana da kyau kuma da kyau a lura da mahimman fayilolin da za a samu a cikin kundin tsarin aikin:

  1. myfirstdjangoproject/__init__.py: Wannan fayil mara komai yana gaya wa Python cewa ya kamata a ɗauki wannan jagorar a matsayin kunshin Python.
  2. myfirstdjangoproject/settings.py: takamaiman saituna don wannan aikin Django.
  3. myfirstdjangoproject/urls.py: TOC (Table Of Content) na rukunin yanar gizon ku na Django.
  4. myfirstdjangoproject/wsgi.py: Wurin shiga don sabar yanar gizo masu dacewa da WSGI don hidimar aikin ku.

# ls 
# ls -l myfirstdjangoproject
# ls -l myfirstdjangoproject/myfirstdjangoproject

Bugu da ƙari, Django yana da sabar gidan yanar gizo mai sauƙi (wanda aka rubuta a cikin Python kama da Python SimpleHTTP, menene kuma?) wanda za'a iya amfani dashi don gwada aikace-aikacen ku a yayin aiwatar da ci gaba ba tare da fuskantar aikin kafa sabar yanar gizo ba a. wannan mataki na musamman.

Koyaya, kuna buƙatar sanin cewa wannan bai dace da yanayin samarwa ba - kawai don haɓakawa. Don ƙaddamar da sabon aikin da aka ƙirƙira, canza kundin adireshi na aiki na yanzu zuwa kundin adireshin aikin ku (~/myfirstdjangoenv/myfirstdjangoproject) kuma gudanar:

# python manage.py runserver 0.0.0.0:8000

Idan kun ci karo da kuskure mai zuwa:

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

Yi abin da ya ce:

# python manage.py migrate

sannan a sake fara uwar garken:

# python manage.py runserver 0.0.0.0:8000

Za mu rufe manufar ƙaura a cikin labarai na gaba na wannan silsilar, don haka za ku iya yin watsi da saƙon kuskure na yanzu.

A kowane hali, zaku iya canza tsohuwar tashar jiragen ruwa inda ginanniyar sabar gidan yanar gizo zata kasance tana sauraro. Ta amfani da 0.0.0.0 azaman hanyar sadarwar hanyar sadarwa don saurare, muna ba da damar sauran kwamfutoci a cikin hanyar sadarwa iri ɗaya don samun dama ga mai amfani da aikin (idan kuna amfani da 127.0.0.1 maimakon, kawai za ku sami damar shiga UI daga localhost).

Hakanan kuna iya canza tashar jiragen ruwa zuwa wani zaɓi na zaɓinku, amma kuna buƙatar tabbatar da cewa ana ba da izinin zirga-zirga ta irin wannan tashar ta Tacewar ta ku:

# firewall-cmd --add-port=8000/tcp
# firewall-cmd --permanent --add-port=8000/tcp

Tabbas, yana tafiya ba tare da faɗi cewa kuna buƙatar sabunta tashar da aka yarda ba idan kun zaɓi yin amfani da wani daban yayin ƙaddamar da sabar gidan yanar gizo mara nauyi.

Ya kamata ku ga fitarwa mai zuwa a cikin tashar ku:

# python manage.py runserver 0.0.0.0:8000

A wannan gaba, zaku iya buɗe mai binciken gidan yanar gizon da kuka fi so kuma kewaya zuwa adireshin IP na injin inda kuka shigar da Django sannan lambar tashar jiragen ruwa ta biyo baya. A cikin akwati na, akwatin Debian Jessie ne tare da IP 192.168.0.25 da sauraron tashar 8000:

http://192.168.0.25:8000

Duk da yake abu ne mai girma cewa mun sami damar kammala saitin farko na aikin, har yanzu da sauran ayyuka da yawa da za mu yi, kamar yadda aka nuna a cikin sakon da ke sama.

Takaitawa

A cikin wannan jagorar mun bayyana yadda ake girka da kuma daidaita yanayin kama-da-wane don Django, tsarin gidan yanar gizo mai buɗaɗɗen tushen tushen tushen Python.

Ko da kuwa kai mai haɓaka aikace-aikacen ne ko kuma mai kula da tsarin, za ka so ka yi alama ga wannan labarin da sauran jerin wannan jerin saboda dama shine cewa a wani lokaci ko wani za ka buƙaci yin la'akari da buƙatar irin wannan kayan aiki don ayyukan yau da kullum.

A cikin kasidu masu zuwa na wannan silsilar za mu tattauna yadda za mu gina abin da muka riga muka cimma don ƙirƙirar aikace-aikacen yanar gizo mai sauƙi, amma mai aiki da amfani da Django da Python.

Kamar koyaushe, kada ku yi jinkirin sauke mana bayanin kula idan kuna da tambayoyi game da wannan labarin ko shawarwari don ingantawa. Muna jiran ji daga gare ku!