Ịwụnye na ịhazi Django Web Framework na Virtual Environment na CentOS/Debian - Part 1


Ihe dị ka afọ 20 gara aga mgbe World Wide Web ka dị ọhụrụ, inwe ebe nrụọrụ weebụ nkeonwe ma ọ bụ nke azụmahịa fọrọ nke nta ka ọ bụrụ ihe okomoko na-adịghị ahụkebe. Site na mmepe nke ọtụtụ teknụzụ webụ na mwepụta nke ọdịnaya siri ike nyere site na nchikota mmemme nke akụkụ sava na ọdụ data, ụlọ ọrụ enweghịzi afọ ojuju inwe ebe nrụọrụ weebụ kwụ ọtọ.

Ya mere, ngwa weebụ ghọrọ eziokwu - mmemme n'echiche zuru oke nke okwu ahụ na-agba ọsọ n'elu ihe nkesa weebụ na ịnweta site na ihe nchọgharị weebụ.

Iji mee ka mmepe dị mfe ma dị irè karị, e mere usoro ntanetị iji nyere ndị mmemme aka na mbọ ha na-emepụta ngwa. Na nkenke, usoro ntanetị na-ahụ maka ọrụ ndị a na-ahụkarị na usoro mmepe dị ka ịmekọrịta njikwa oge onye ọrụ, mmekọrịta na ọdụ data, na omume dị mma nke idobe mgbagha azụmahịa dị iche na mgbagha ngosi, ịkpọ aha ole na ole.

N'ime usoro Django nke nwere edemede atọ, anyị ga-ewebata gị na Django, usoro webụsaịtị ama ama dabere na Python. N'ihi nke a, ọ dịkarịa ala, a na-atụ aro ka ị mara asụsụ mmemme a mana ọ bụrụ na ị nweghị ahụmahụ na ya, anyị ga-ejegharịkwa gị site na isi ihe.

Ịwụnye Django na CentOS na Debian Servers

Ọ bụ ezie na ị nwere ike iwunye Django site na ma Debian (v1.7.7: nkwado agbatị ga-akwụsị na December 2015) na Fedora EPEL (v1.6.11: a kwụsịrị nkwado a kwụsịrị na April 2015), ụdị dịnụ abụghị LTS kwụsiri ike ọhụrụ. (Nkwado Ogologo Ogologo) mwepụta (v1.8.13, dịka nke Mee 2016).

N'ime nkuzi a, anyị ga-egosi gị otu esi etinye Django v1.8.13 ebe ọ bụ na a kwadoro nkwado ya ruo mgbe ọ dịkarịa ala April nke 2018.

Usoro akwadoro iji wụnye Django bụ site na pip, ngwá ọrụ a ma ama maka ijikwa ngwugwu Python. Ọzọkwa, iji mepụta gburugburu Python dịpụrụ adịpụ ma zere esemokwu n'etiti ọrụ ndị nwere ike ịchọ ụdị dị iche iche nke ndabere ngwanrọ, a na-akwado iji gburugburu ebe obibi mebere.

Ngwa ndị a na-eji emepụta na jikwaa mebere Python gburugburu ka a na-akpọ virtualenv.

Soro usoro ndị a ka ịrụ nrụnye:

1. Maka nkesa dabere na Fedora (ma e wezụga na Fedora n'onwe ya), mee ka ebe nchekwa EPEL buru ụzọ mee:

# yum update && yum install epel-release

2. Wụnye pip na virtualenv:

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

3. Mepụta ndekọ iji chekwaa ọrụ mbụ gị.

# mkdir ~/myfirstdjangoenv
# cd ~/myfirstdjangoenv

4. Mepụta ma rụọ ọrụ gburugburu ebe obibi:

# virtualenv myfirstdjangoenv

Iwu a dị n'elu na-emepụta ụyọkọ faịlụ na subdirectories n'ime ~/myfirstdjangoenv ma na-etinye isi nke Python na pip n'ime akwụkwọ ndekọ aha ugbu a. Na-esote, anyị kwesịrị ịgbalite gburugburu ebe anyị mebere ugbu a:

# source myfirstdjangoenv/bin/activate

5. Rịba ama ka iwu ozugbo na-agbanwe mgbe iwu ikpeazụ gasịrị. Ọ bụ ugbu a oge ịwụnye Django:

Rịba ama na ewere nseta ihuenyo dị n'okpuru n'oge ụdị nkuzi a gara aga, mana mmepụta a na-atụ anya bụ otu ihe mgbe ị na-etinye Django 1.8.13):

# pip install Django==1.8.13

Ị nwere ike ịlele ụdị Django site na ịmepụta Python shei site na ndekọ ọrụ gị ugbu a:

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

(Ọzọ, iwu dị n'elu kwesịrị ịlaghachi 1.8.13 mgbe ị na-elele ụdị Django dị ugbu a).

Iji pụọ na ngwa ngwa Python, pịnye:

>>> exit() 

wee pịa Tinye. Na-esote, gbanyụọ mebere gburugburu:

# deactivate

Biko rịba ama na ka ebe mebere gburugburu ka kwụsịrị, Django adịghị:

Otu esi emepụta ọrụ mbụ na Django

Iji mepụta oru ngo n'ime mebere gburugburu anyị mepụtara na mbụ, ọ kwesịrị ka ọ rụọ ọrụ:

# source myfirstdjangoenv/bin/activate

Na-esote, usoro ahụ ga-emepụta usoro ndekọ aha niile iji chekwaa ọrụ gị. Iji mee nke a, ị ga-achọ ịgba ọsọ.

# django-admin startproject myfirstdjangoproject

Iwu a dị n'elu ga-emepụta ndekọ aha myfirstdjangoproject n'ime akwụkwọ ndekọ aha gị ugbu a.

ebe ị ga-ahụ faịlụ aha ya manager.py (ihe bara uru ga-enyere gị aka ijikwa ọrụ gị ma emechaa) na akwụkwọ ndekọ ọzọ (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Akwụkwọ ndekọ aha ikpeazụ a ga-abụ akpa maka faịlụ ọrụ.

Ọ bụ ezie na faịlụ ndị ọzọ ga-enwe ezi uche mgbe anyị nyochachara ụfọdụ Python ka ịmalite ide ngwa weebụ n'ezie, ọ bara uru ma dị mma iburu n'uche faịlụ ndị dị mkpa a ga-achọta n'ime akwụkwọ ndekọ aha ọrụ:

  1. myfirstdjangoproject/__init__.py: Faịlụ efu a na-agwa Python na a ga-ewere ndekọ a ka ọ bụrụ ngwugwu Python.
  2. myfirstdjangoproject/settings.py: Ntọala akọwapụtara maka ọrụ Django a.
  3. myfirstdjangoproject/urls.py: TOC (Table Of Content) nke saịtị Django gị kwadoro.
  4. myfirstdjangoproject/wsgi.py: Ebe ntinye maka sava weebụ dakọtara WSGI iji rụọ ọrụ gị.

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

Tụkwasị na nke ahụ, Django nwere ihe nkesa weebụ arụnyere dị nfe (nke e dere na Python dị ka Python SimpleHTTP, gịnị ọzọ?) Nke a nwere ike iji nwalee ngwa gị n'oge usoro mmepe na-enweghị ọrụ nke ịtọ ntọala weebụ na. nke a akpan akpan ogbo.

Otú ọ dị, ịkwesịrị ịmara na nke a adịghị mma maka ebe mmepụta - naanị maka mmepe. Iji malite oru ngo emepụtara ọhụrụ, gbanwee akwụkwọ ndekọ aha gị ugbu a gaa na ndekọ akpa maka ọrụ gị (~/myfirstdjangoenv/myfirstdjangoproject) wee mee:

# python manage.py runserver 0.0.0.0:8000

Ọ bụrụ na ị banye na njehie a:

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

Mee ihe ọ na-ekwu:

# python manage.py migrate

wee malitegharịa ihe nkesa ọzọ:

# python manage.py runserver 0.0.0.0:8000

Anyị ga-ekpuchi echiche nke ịkwaga n'isiokwu na-esote nke usoro isiokwu a, ka ị nwee ike ileghara ozi njehie ahụ anya ugbu a.

N'ọnọdụ ọ bụla, ị nwere ike ịgbanwe ọdụ ụgbọ mmiri nke arụnyere n'ime ya ga-ege ntị. Site n'iji 0.0.0.0 dị ka netwọk netwọk iji gee ntị, anyị na-ekwe ka kọmputa ndị ọzọ dị n'otu netwọk nweta ohere ọrụ ọrụ ọrụ (ọ bụrụ na ị na-eji 127.0.0.1 kama, ị ga-enwe ike ịnweta UI site na localhost).

Ị nwekwara ike ịgbanwe ọdụ ụgbọ mmiri ahụ gaa na nke ọzọ nke nhọrọ gị, mana ị ga-achọkwa ijide n'aka na a na-ahapụ okporo ụzọ site na ọdụ ụgbọ mmiri ahụ site na firewall gị:

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

N'ezie, ọ na-aga n'ekwughị na ị ga-achọ imelite ọdụ ụgbọ mmiri ekwenyere ma ọ bụrụ na ị họrọ iji nke ọzọ mgbe ị na-ebupụta sava weebụ dị fechaa.

Ị ga-ahụ mmepụta na-esote na njedebe gị:

# python manage.py runserver 0.0.0.0:8000

N'oge a, ị nwere ike imepe ihe nchọgharị weebụ kachasị amasị gị wee gaa na adreesị IP nke igwe ebe ị wụnye Django na-esote nọmba ọdụ ụgbọ mmiri. N'okwu m, ọ bụ igbe Debian Jessie nwere IP 192.168.0.25 ma na-ege ntị na ọdụ ụgbọ mmiri 8000:

http://192.168.0.25:8000

Ọ bụ ezie na ọ bụ ihe magburu onwe ya na anyị nwere ike mezue nhazi mbụ nke ọrụ, a ka nwere ọtụtụ ọrụ fọdụrụ ime, dị ka e gosiri na ozi dị n'elu.

Nchịkọta

N'ime ntuziaka a, anyị akọwala otu esi etinye na hazie ebe mebere maka Django, usoro ihe ntanetị mepere emepe nke dabere na Python.

N'agbanyeghị ma ị bụ onye nrụpụta ngwa ma ọ bụ onye na-ahụ maka sistemụ, ị ga-achọ idebe isiokwu a na usoro ndị ọzọ nke usoro a n'ihi na ohere bụ na n'oge ụfọdụ ma ọ bụ ọzọ ị ga-achọ ịtụle mkpa nke ngwá ọrụ dị otú ahụ maka ọrụ gị kwa ụbọchị.

N'isiokwu ndị na-esonụ nke usoro isiokwu a, anyị ga-atụle ka anyị ga-esi wulite na ihe anyị rụzurula iji mepụta ngwa weebụ dị mfe, ma na-arụ ọrụ site na iji Django na Python.

Dị ka oge niile, egbula oge ịhapụ anyị ndetu ma ọ bụrụ na ị nwere ajụjụ gbasara akụkọ a ma ọ bụ aro iji melite. Anyị na-atụ anya ịnụ gị!