ການຕິດຕັ້ງແລະການຕັ້ງຄ່າກອບ Django Web ກັບສະພາບແວດລ້ອມເສມືນໃນ CentOS/Debian - ພາກທີ 1


ປະມານ 20 ປີທີ່ຜ່ານມາເມື່ອເວບໄຊທ໌ໂລກຍັງຢູ່ໃນໄວເດັກ, ມີເວບໄຊທ໌ສ່ວນຕົວຫລືທຸລະກິດເກືອບຈະເປັນສິ່ງທີ່ຫາຍາກ. ດ້ວຍການພັດທະນາຕໍ່ໄປຂອງເຕັກໂນໂລຢີເວບໄຊທ໌ຫຼາຍໆຄັ້ງແລະການ ນຳ ສະ ເໜີ ເນື້ອຫາແບບເຄື່ອນໄຫວທີ່ສະ ໜອງ ໂດຍການລວມເອົາໂປແກຼມແລະຖານຂໍ້ມູນເຊີຟເວີ, ບໍລິສັດບໍ່ສາມາດພໍໃຈກັບການມີເວບໄຊທ໌ທີ່ສະຖຽນລະພາບອີກຕໍ່ໄປ.

ດັ່ງນັ້ນ, ໂປແກຼມໃຊ້ເວັບໄດ້ກາຍເປັນຄວາມເປັນຈິງ - ໂປແກຼມໃນຄວາມ ໝາຍ ເຕັມຂອງ ຄຳ ທີ່ແລ່ນຢູ່ເທິງສຸດຂອງເວັບເຊີຟເວີແລະສາມາດເຂົ້າເຖິງຜ່ານ web browser ໄດ້.

ເພື່ອເຮັດໃຫ້ການພັດທະນາງ່າຍຂຶ້ນແລະມີປະສິດທິພາບຫຼາຍ, ໂຄງຮ່າງການເວບໄຊທ໌ໄດ້ຖືກອອກແບບເພື່ອຊ່ວຍນັກຂຽນໂປແກຼມໃນຄວາມພະຍາຍາມຂອງພວກເຂົາໃນການສ້າງໂປແກຼມຕ່າງໆ. ໂດຍຫຍໍ້, ກອບເວັບຕ້ອງເບິ່ງແຍງກ່ຽວກັບ ໜ້າ ທີ່ຫຼັກໆທີ່ມີຢູ່ໃນຂັ້ນຕອນການພັດທະນາເຊັ່ນ: ການຈັດການກັບການຄຸ້ມຄອງກອງປະຊຸມຜູ້ໃຊ້, ການຕິດຕໍ່ພົວພັນກັບຖານຂໍ້ມູນແລະການປະຕິບັດທີ່ດີໃນການຮັກສາເຫດຜົນຂອງທຸລະກິດໃຫ້ແຕກຕ່າງຈາກເຫດຜົນການສະແດງ, ເພື່ອຕັ້ງຊື່ບາງຕົວຢ່າງ.

ໃນຊຸດ Django 3 ບົດນີ້ພວກເຮົາຈະມາແນະ ນຳ ທ່ານ Django ເຊິ່ງເປັນກອບເວັບທີ່ໄດ້ຮັບຄວາມນິຍົມໂດຍອີງໃສ່ Python. ດ້ວຍເຫດຜົນນັ້ນ, ຢ່າງ ໜ້ອຍ ຕ້ອງມີຄວາມຄຸ້ນເຄີຍກັບພາສາການຂຽນໂປແກຼມນີ້ແຕ່ຖ້າທ່ານບໍ່ມີປະສົບການຫຍັງກັບມັນ, ພວກເຮົາກໍ່ຈະຍ່າງທ່ານຜ່ານພື້ນຖານ.

ການຕິດຕັ້ງ Django ໃນ CentOS ແລະເຄື່ອງແມ່ຂ່າຍ Debian

ເຖິງແມ່ນວ່າທ່ານສາມາດຕິດຕັ້ງ Django ຈາກທັງ Debian (v1.7.7: ການສະ ໜັບ ສະ ໜູນ ທີ່ຂະຫຍາຍຈະຖືກຢຸດໃນເດືອນທັນວາ 2015) ແລະ Fedora EPEL (v1.6.11: ການສະ ໜັບ ສະ ໜູນ ທີ່ຂະຫຍາຍໄດ້ຢຸດໃນເດືອນເມສາ 2015) ຢູ່ຫໍສະ ໝຸດ, ລຸ້ນທີ່ມີບໍ່ແມ່ນ LTS ທີ່ ໝັ້ນ ຄົງຫຼ້າສຸດ (ການສະ ໜັບ ສະ ໜູນ ໄລຍະຍາວ) (v1.8.13, ເດືອນພຶດສະພາ 2016).

ໃນບົດແນະ ນຳ ນີ້ພວກເຮົາຈະສະແດງວິທີການຕິດຕັ້ງ Django v1.8.13 ນັບຕັ້ງແຕ່ການສະ ໜັບ ສະ ໜູນ ທີ່ໄດ້ຮັບການຮັບຮອງເປັນເວລາຢ່າງ ໜ້ອຍ ຮອດເດືອນເມສາ 2018.

ວິທີການທີ່ແນະ ນຳ ໃນການຕິດຕັ້ງ Django ແມ່ນຜ່ານ pip ເຊິ່ງເປັນເຄື່ອງມືທີ່ມີຄວາມນິຍົມໃນການຈັດການແພັກເກັດ Python. ພ້ອມກັນນີ້, ເພື່ອສ້າງສະພາບແວດລ້ອມ Python ທີ່ໂດດດ່ຽວແລະຫຼີກລ່ຽງການຂັດແຍ້ງລະຫວ່າງໂຄງການທີ່ອາດຈະຕ້ອງການຄວາມເພິ່ງພາອາໄສຊອບແວທີ່ແຕກຕ່າງກັນ, ການ ນຳ ໃຊ້ສະພາບແວດລ້ອມເສມືນແມ່ນໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ ສູງ.

ເຄື່ອງມືທີ່ໃຊ້ໃນການສ້າງແລະຈັດການສະພາບແວດລ້ອມ Python virtual ເອີ້ນວ່າ virtualenv.

ປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້ເພື່ອ ດຳ ເນີນການຕິດຕັ້ງ:

1. ສຳ ລັບການແຈກຈ່າຍທີ່ອີງໃສ່ Fedora (ຍົກເວັ້ນໃນ Fedora ເອງ), ໃຫ້ສາມາດເກັບຮັກສາ EPEL ກ່ອນ:

# yum update && yum install epel-release

2. ຕິດຕັ້ງ pip ແລະ virtualenv:

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

3. ສ້າງໄດເລກະທໍລີເພື່ອເກັບຮັກສາໂຄງການເບື້ອງຕົ້ນຂອງທ່ານ.

# mkdir ~/myfirstdjangoenv
# cd ~/myfirstdjangoenv

4. ສ້າງແລະກະຕຸ້ນສະພາບແວດລ້ອມເສມືນ:

# virtualenv myfirstdjangoenv

ຄຳ ສັ່ງຂ້າງເທິງນີ້ສ້າງເອກະສານແລະເອກະສານຍ່ອຍຍ່ອຍເຂົ້າໃນ ~/myfirstdjangoenv ແລະໂດຍພື້ນຖານແລ້ວຈະຕິດຕັ້ງ ສຳ ເນົາ Python ແລະ pip ໃນທ້ອງຖິ່ນທີ່ຢູ່ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກຢູ່ໃນປະຈຸບັນ. ຕໍ່ໄປ, ພວກເຮົາຕ້ອງໄດ້ກະຕຸ້ນສະພາບແວດລ້ອມເສມືນທີ່ພວກເຮົາຫາກໍ່ສ້າງຂື້ນມາ:

# source myfirstdjangoenv/bin/activate

5. ສັງເກດວິທີການກະຕຸ້ນເຕືອນການປ່ຽນແປງຫຼັງຈາກ ຄຳ ສັ່ງສຸດທ້າຍ. ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ຈະຕິດຕັ້ງ Django:

ໃຫ້ສັງເກດວ່າພາບຫນ້າຈໍຂ້າງລຸ່ມນີ້ຖືກປະຕິບັດໃນໄລຍະທີ່ຜ່ານມາຂອງບົດແນະ ນຳ ນີ້, ແຕ່ຜົນໄດ້ຮັບທີ່ຄາດວ່າຈະຄືກັນເມື່ອຕິດຕັ້ງ Django 1.8.13):

# pip install Django==1.8.13

ທ່ານສາມາດກວດເບິ່ງເວີຊັນ Django ໂດຍການເປີດຫອຍ Python ຈາກໄດເລກະທໍລີເຮັດວຽກຂອງທ່ານໃນປະຈຸບັນ:

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

(ອີກເທື່ອຫນຶ່ງ, ຄໍາສັ່ງຂ້າງເທິງຄວນກັບຄືນ 1.8.13 ເມື່ອກວດເບິ່ງເວີຊັນ Django ໃນປະຈຸບັນ).

ເພື່ອອອກຈາກການກະຕຸ້ນ Python, ໃຫ້ພິມ:

>>> exit() 

ແລະກົດ Enter. ຕໍ່ໄປ, ປິດສະພາບແວດລ້ອມເສມືນ:

# deactivate

ກະລຸນາຮັບຊາບວ່າໃນຂະນະທີ່ສະພາບແວດລ້ອມເສມືນຍັງບໍ່ມີການເຄື່ອນໄຫວ, Django ບໍ່ສາມາດໃຊ້ໄດ້:

ວິທີການສ້າງໂຄງການ ທຳ ອິດໃນ Django

ເພື່ອສ້າງໂຄງການພາຍໃນສະພາບແວດລ້ອມເສມືນທີ່ພວກເຮົາໄດ້ສ້າງຂື້ນມາກ່ອນ ໜ້າ ນີ້, ມັນ ຈຳ ເປັນຕ້ອງມີການກະຕຸ້ນ:

# source myfirstdjangoenv/bin/activate

ຕໍ່ໄປ, ກອບຈະສ້າງໂຄງສ້າງຂອງໄດເລກະທໍລີທັງ ໝົດ ເພື່ອເກັບໂຄງການຂອງທ່ານ. ເພື່ອເຮັດສິ່ງນີ້, ທ່ານຈະຕ້ອງໄດ້ແລ່ນ.

# django-admin startproject myfirstdjangoproject

ຄຳ ສັ່ງຂ້າງເທິງນີ້ຈະສ້າງໄດເລກະທໍລີທີ່ມີຊື່ວ່າ myfirstdjangoproject ຢູ່ໃນລະບົບເຮັດວຽກຂອງທ່ານໃນປະຈຸບັນ.

ບ່ອນທີ່ທ່ານຈະພົບກັບແຟ້ມທີ່ມີຊື່ວ່າ manage.py (ເຄື່ອງໃຊ້ໄຟຟ້າທີ່ຈະຊ່ວຍໃຫ້ທ່ານຈັດການໂຄງການຂອງທ່ານໃນພາຍຫລັງ) ແລະລາຍຊື່ຍ່ອຍອື່ນໆ (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). ແຟ້ມເອກະສານຍ່ອຍສຸດທ້າຍນີ້ຈະເປັນພາຊະນະ ສຳ ລັບເອກະສານໂຄງການ.

ໃນຂະນະທີ່ເອກະສານທີ່ເຫຼືອຈະມີຄວາມ ໝາຍ ທີ່ແທ້ຈິງຫຼັງຈາກທີ່ພວກເຮົາໄດ້ທົບທວນ Python ບາງຢ່າງເພື່ອເລີ່ມຕົ້ນຂຽນໂປແກຼມເວັບໄຊຕ໌ທີ່ແທ້ຈິງ, ມັນຄຸ້ມຄ່າແລະຄວນລະວັງກ່ຽວກັບເອກະສານ ສຳ ຄັນທີ່ຈະພົບເຫັນຢູ່ໃນໄດເລກະທໍລີບັນຈຸໂຄງການ:

<

  • myfirstdjangoproject/__ init__.py: ເອກະສານຫວ່າງເປົ່ານີ້ບອກ Python ວ່າໄດເລກະທໍລີນີ້ຄວນຖືວ່າເປັນຊຸດ Python.
  • myfirstdjangoproject/settings.py: ການຕັ້ງຄ່າສະເພາະ ສຳ ລັບໂຄງການ Django ນີ້.
  • myfirstdjangoproject/urls.py: TOC (ຕາຕະລາງເນື້ອໃນ) ຂອງເວັບໄຊທ໌ທີ່ໃຊ້ພະລັງງານ Django ຂອງທ່ານ.
  • myfirstdjangoproject/wsgi.py: ຈຸດເຂົ້າ - ອອກສຽງ ສຳ ລັບເຄື່ອງແມ່ຂ່າຍເວັບທີ່ເຂົ້າກັນໄດ້ກັບ WSGI ເພື່ອຮັບໃຊ້ໂຄງການຂອງທ່ານ.
  • # ls 
    # ls -l myfirstdjangoproject
    # ls -l myfirstdjangoproject/myfirstdjangoproject
    

    ນອກຈາກນັ້ນ, Django ມີໂປແກຼມ web server ທີ່ມີນ້ ຳ ໜັກ ເບົາ (ຂຽນໃນ Python ຄ້າຍຄືກັບ Python SimpleHTTP, ມີຫຍັງອີກ?) ທີ່ສາມາດໃຊ້ໃນການທົດສອບການສະ ໝັກ ຂອງທ່ານໃນລະຫວ່າງຂັ້ນຕອນການພັດທະນາໂດຍບໍ່ຕ້ອງຈັດການກັບ ໜ້າ ວຽກໃນການຕັ້ງ server web ຢູ່ ຂັ້ນຕອນນີ້ໂດຍສະເພາະ.

    ເຖິງຢ່າງໃດກໍ່ຕາມ, ທ່ານຕ້ອງຮູ້ວ່າສິ່ງນີ້ບໍ່ ເໝາະ ສົມກັບສະພາບແວດລ້ອມການຜະລິດ - ພຽງແຕ່ເພື່ອການພັດທະນາ. ເພື່ອເປີດໂຄງການທີ່ທ່ານສ້າງຂື້ນມາ ໃໝ່, ປ່ຽນໄດເລກະທໍລີການເຮັດວຽກຂອງທ່ານໃນປັດຈຸບັນໄປທີ່ໄດເລກະທໍລີບັນຈຸ ສຳ ລັບໂຄງການຂອງທ່ານ (~/myfirstdjangoenv/myfirstdjangoproject) ແລະ ດຳ ເນີນການ:

    # python manage.py runserver 0.0.0.0:8000
    

    ຖ້າທ່ານແລ່ນເຂົ້າໄປໃນຂໍ້ຜິດພາດດັ່ງຕໍ່ໄປນີ້:

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

    ເຮັດໃນສິ່ງທີ່ມັນເວົ້າ:

    # python manage.py migrate
    

    ແລະຫຼັງຈາກນັ້ນເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍອີກເທື່ອຫນຶ່ງ:

    # python manage.py runserver 0.0.0.0:8000
    

    ພວກເຮົາຈະເວົ້າເຖິງແນວຄວາມຄິດຂອງການເຄື່ອນຍ້າຍແຮງງານໃນບົດຄວາມຕໍ່ໄປຂອງຊຸດນີ້, ສະນັ້ນທ່ານສາມາດບໍ່ສົນໃຈຂໍ້ຄວາມຜິດພາດໃນເວລານັ້ນ.

    ໃນກໍລະນີໃດກໍ່ຕາມ, ທ່ານສາມາດປ່ຽນພອດເລີ່ມຕົ້ນທີ່ເຄື່ອງແມ່ຂ່າຍເວັບທີ່ສ້າງມາຈະຖືກຟັງ. ໂດຍການໃຊ້ 0.0.0.0 ເປັນອິນເຕີເຟດເຄືອຂ່າຍເພື່ອຟັງ, ພວກເຮົາອະນຸຍາດໃຫ້ຄອມພິວເຕີ້ອື່ນໃນເຄືອຂ່າຍດຽວກັນເຂົ້າເຖິງອິນເຕີເຟດຜູ້ໃຊ້ໂຄງການ (ຖ້າທ່ານໃຊ້ 127.0.0.1 ແທນ, ທ່ານຈະສາມາດເຂົ້າໃຊ້ UI ຈາກ localhost ເທົ່ານັ້ນ).

    ທ່ານຍັງສາມາດປ່ຽນທ່າເຮືອໄປບ່ອນອື່ນທີ່ທ່ານເລືອກໄດ້, ແຕ່ທ່ານຍັງຕ້ອງຮັບປະກັນວ່າການຈະລາຈອນຜ່ານທ່າເຮືອດັ່ງກ່າວແມ່ນຖືກອະນຸຍາດໃຫ້ຜ່ານ Firewall ຂອງທ່ານ:

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

    ແນ່ນອນ, ມັນໄປໂດຍບໍ່ຕ້ອງເວົ້າວ່າທ່ານຈະຕ້ອງໄດ້ປັບປຸງພອດທີ່ໄດ້ຮັບອະນຸຍາດຖ້າທ່ານເລືອກທີ່ຈະໃຊ້ບ່ອນອື່ນໃນຂະນະທີ່ ກຳ ລັງເປີດ ນຳ ໃຊ້ web server ທີ່ມີນ້ ຳ ໜັກ ເບົາ.

    ທ່ານຄວນຈະເຫັນຜົນຜະລິດຕໍ່ໄປນີ້ຢູ່ປາຍທາງຂອງທ່ານ:

    # python manage.py runserver 0.0.0.0:8000
    

    ໃນຈຸດນີ້, ທ່ານສາມາດເປີດໂປແກຼມທ່ອງເວັບທີ່ທ່ານມັກແລະໄປຫາທີ່ຢູ່ IP ຂອງເຄື່ອງທີ່ທ່ານຕິດຕັ້ງ Django ຕິດຕາມດ້ວຍເລກທີ່ Port. ໃນກໍລະນີຂອງຂ້ອຍ, ມັນແມ່ນກ່ອງ Debian Jessie ທີ່ມີ IP 192.168.0.25 ແລະຟັງຢູ່ທີ່ port 8000:

    http://192.168.0.25:8000
    

    ໃນຂະນະທີ່ມັນເປັນສິ່ງທີ່ດີທີ່ພວກເຮົາສາມາດເຮັດ ສຳ ເລັດການຕັ້ງຄ່າເບື້ອງຕົ້ນຂອງໂຄງການ, ມັນຍັງມີວຽກຫຼາຍທີ່ຕ້ອງເຮັດ, ດັ່ງທີ່ໄດ້ລະບຸໄວ້ໃນຂໍ້ຄວາມຂ້າງເທິງ.

    ບົດສະຫຼຸບ

    ໃນຄູ່ມືນີ້ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງແລະ ກຳ ຫນົດສະພາບແວດລ້ອມເສມືນ ສຳ ລັບ Django, ໂຄງຮ່າງການເປີດເວບໄຊທ໌ທີ່ມີຄວາມຫລາກຫລາຍໂດຍອີງໃສ່ Python.

    ບໍ່ວ່າທ່ານຈະເປັນຜູ້ພັດທະນາແອັບພລິເຄຊັນຫລືຜູ້ບໍລິຫານລະບົບ, ທ່ານຈະຕ້ອງການທີ່ຈະ ໝາຍ ເຫດບົດຄວາມນີ້ແລະສ່ວນທີ່ເຫຼືອຂອງບົດນີ້ເພາະວ່າມີໂອກາດທີ່ບາງຊ່ວງເວລາຫລືອີກອັນ ໜຶ່ງ ທ່ານຈະຕ້ອງໄດ້ພິຈາລະນາເຖິງຄວາມ ຈຳ ເປັນຂອງເຄື່ອງມືດັ່ງກ່າວ ສຳ ລັບວຽກງານປະ ຈຳ ວັນຂອງທ່ານ.

    ໃນບົດຂຽນຕໍ່ໄປນີ້ຂອງບົດສະບັບນີ້ພວກເຮົາຈະປຶກສາຫາລືກ່ຽວກັບວິທີການສ້າງສິ່ງທີ່ພວກເຮົາໄດ້ເຮັດມາແລ້ວເພື່ອສ້າງໂປແກຼມເວັບແບບງ່າຍດາຍ, ມີປະໂຫຍດສູງສຸດໂດຍໃຊ້ Django ແລະ Python.

    ດັ່ງທີ່ເຄີຍເຮັດ, ຢ່າລັງເລທີ່ຈະຝາກຈົດ ໝາຍ ໃຫ້ພວກເຮົາຖ້າທ່ານມີ ຄຳ ຖາມກ່ຽວກັບບົດຂຽນນີ້ຫຼື ຄຳ ແນະ ນຳ ເພື່ອປັບປຸງ. ພວກເຮົາຫວັງວ່າຈະໄດ້ຍິນຂ່າວຈາກທ່ານ!