آموزش گام به گام نصب Django روی centos7

دسته بندی: آموزش, لینوکس, نکات فنی
آموزش نصب جنگو روی سنتوس 7

جنگو، نرم‌افزاری است که برای توسعه وب استفاده می‌شود و ابزارهای لازم برای انجام این کار را در اختیار توسعه‌دهندگان می‌گذارد. در این مقاله، می‌خواهیم نحوه نصب Django روی centos7  را به صورت گام به گام آموزش دهیم تا بتوانید نصب جنگو روی Centos 7 خودتان به راحتی انجام دهید.

چگونگی نصب Django روی centos7

پیش‌فرض ما در این مقاله این است که شما با زبان‌ برنامه‌نویسی پایتون و متعلقاتش آشنایی دارید. اگر اینطور نیست، خواندن مقاله پایتون چیست  به شما کمک می‌کند. با پیش‌فرض توضیحات خودمان را شروع می‌کنیم.

قدم اول: به روزرسانی Packages سیستم

قبل از نصب نرم افزار جدید، مهم است که لیست Packages سیستم را به روز کنید. این کار تضمین می‌کند که آخرین به روز‌رسانی‌ها و اصلاحات امنیتی را دریافت می‌کنید. ترمینال را باز کنید و دستور را اجرا کنید:

sudo yum update

این دستور لیست Packages شما را به روز می‌کند و به شما اطمینان می‌دهد که سیستم از آخرین نسخه برنامه‌ها استفاده می‌کند.

بیشتر بخوانید: جنگو چیست؟ ساخت اپلیکیشن با جنگو 

قدم دوم: نصب EPEL Repository:

برای دسترسی به Packages بیشتر در CentOS 7، باید مخزن EPEL  یا Extra Packages for Enterprise Linux را نصب کنید. برای نصب این مخزن، دستور زیر را در ترمینال بنویسید و اجرا کنید:

sudo yum install epel-release

نصب Django روی centos7

مخزن EPEL حاوی Packages  بیشتر مانند برخی از نسخه‌های Python 3  است که در مخزن استاندارد CentOS نمی‌توانید آن‌ها را پیدا کنید.

قدم سوم: نصب پایتون 3

اکنون آماده نصب پایتون 3 و کتابخانه‌های آن هستید. برای انجام این کار دستورات زیر را اجرا کنید:

sudo yum install python34 python34-devel

نصب Django روی centos7

python34 نسخه 3. 4 پایتون را نصب می کند و python34-devel نصب ابزارهای توسعه لازم برای کامپایل ماژول‌های پایتون را انجام می‌دهد.

قدم چهارم: نصب ابزار virtualenv با استفاده از pip

بعد از نصب پایتون، گام بعدی نصب ابزار virtualenv است که برای ایجاد محیط های ایزوله پایتون استفاده می‌شود. برای شروع دستورهای زیر را در ترمینال لینوکس بنویسید:

sudo yum install python34-pip

sudo pip3 install virtualenv

نصب Django روی centos7

python34-pip ابزار مدیریت بسته Python را برای نسخه 3.4 نصب می‌کند و pip3  نصب virtualenv را انجام می‌دهد.

اگر شما خطایی دریافت کنید. دستور زیر را اجرا کنید:

-bash: pip3: command not found

این دستور نشان می‌دهد که پیپ برای پایتون 3 نصب نشده است یا اضافه‌شدن آن به متغیر محیطی PATH به درستی صورت نگرفته است. در CentOS 7، برای نصب pip3 ممکن است، نیاز به طی چند مرحله داشته باشید.

 ابتدا نسخه get-pip.py سازگار با پایتون 3.4 را با استفاده از دستور زیر دانلود کنید:

curl "https://bootstrap.pypa.io/pip/3.4/get-pip.py" -o "get-pip.py"

اکنون با اجرای دستور زیر نصب اسکریپت pip روی پایتون 3.4 را انجام دهید:

python3.4 get-pip.py

نصب Django روی centos7

این دستور pip را نصب می‌کند که مختص نسخه نصب شده پایتون 3.4 است. پس از نصب، از دستور زیر می‌توانید استفاده کنید تا بررسی کنید که pip به درستی نصب شده باشد:

pip3.4 --version

نصب Django روی centos7

با استفاده از pip3.4،  نصب virtualenv را انجام دهید:

pip3.4 install --upgrade "virtualenv<20"

virtualenv برای ایجاد محیط‌های ایزوله پایتون استفاده می‌شود که به شما امکان می‌دهد، پروژه‌های مختلف را مدیریت کنید.

نصب Django روی centos7

قدم پنجم: ایجاد Virtual Environment

پس از نصب virtualenv می‌توانید یک محیط مجازی برای پروژه جنگو خود ایجاد کنید. برای ایجاد یک محیط مجازی از دستور زیر استفاده کنید:

python3.4 -m venv myprojectenv

myprojectenv نام محیط مجازی شما است. این دستور یک پوشه myprojectenv جدید در دایرکتوری فعلی با نصب پایتون جداگانه ایجاد می‌کند و برای ذخیره کتابخانه‌های پایتون و ابزارهای توسعه آن مکانی در نظر می‌گیرد. 

قدم ششم: فعال‌سازی Virtual Environment

برای شروع کار در محیط مجازی ایجاد شده، آن را فعال کنید:

source myprojectenv/bin/activate

پس از فعال‌سازی محیط مجازی، command line شما تغییر می‌کند و نام محیط مجازی را نشان می‌دهد که مشخص می‌کند، تمام دستورات بعدی پایتون در این محیط ایزوله اجرا می‌گردد. 

اکنون سرور شما برای نصب Django روی centos7و توسعه برنامه وب آماده است.

قدم هفتم: نصب Django

پس از فعال سازی محیط مجازی خود، می‌توانید با خیال راحت جنگو را در آن نصب کنید. جنگو فقط در این محیط مجازی نصب می‌شود و روی پروژه‌ها یا تنظیمات سیستم تأثیری نخواهد داشت. Django را روی Python package manager نصب کنید. برای نصب آن دستور زیر را در ترمینال لینوکس بنویسید:

pip install django

قدم هشتم: تأیید نصب Django روی  centos7

پس از نصب، نسخه جنگو را بررسی کنید تا مطمئن شوید که نصب با موفقیت انجام شده است. این کار  همچنین به شما کمک می‌کند تا از به روزبودن نسخه جنگو اطمینان پیدا کنید. 

django-admin --version

این دستور نسخه نصب شده جنگو را نمایش می‌دهد.

قدم نهم: ایجاد یک پروژه جدید در جانگو

اکنون که جنگو نصب شده است، یک پروژه جدید ایجاد کنید. این کار را می توان با استفاده از دستور زیر انجام داد:

django-admin startproject myproject

این دستور یک پوشه جدید myproject با ساختار اولیه پروژه جنگو ایجاد می‌کند.

قدم نهم: انجام تنظیمات پروژه جدید

پس از ایجاد پروژه، به دایرکتوری آن بروید:

cd myproject

سپس انتقال پایگاه داده را انجام دهید. جنگو از این پایگاه برای راه اندازی پایگاه داده برای پروژه شما استفاده می‌کند:

python manage.py migrate

این دستور پایگاه داده را با استفاده از موارد پیش‌فرض ارائه شده توسط جنگو راه اندازی می‌کند.

قدم دهم: شروع توسعه سرور جنگو

مرحله اول: شروع به کار با سرور

سرور توسعه داخلی جنگو را راه اندازی کنید تا بتوانید از اجرای پروژه مطمئن شوید:

python manage.py runserver 0.0.0.0:8000

در اینجا 0.0.0.0 به جنگو می‌گوید که درخواست اتصال را از تمام آدرس های IP بپذیرد و 8000 پورتی است که سرور روی آن اجرا می‌شود.

مرحله دوم: دریافت دسترسی به Web Application

پورت 8000 را باز کنید. برای انجام این کار از دستورات زیر استفاده کنید:

firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload

اکنون می‌توانید یک مرورگر وب باز کنید و آدرس IP سرور خود را در پورت 8000 وارد کنید تا به برنامه جنگو خود دسترسی پیدا کنید.

اگر نمی توانید با IP:8000 به سایت دسترسی پیدا کنید، یا با خطاهای صفحه وب مانند DisallowedHost مواجه شدید، باید آدرس IP سرور خود را به لیست ALLOWED_HOSTS در فایل settings.py پروژه جنگو خود اضافه کنید. پس از آن، می توانید سرور را مجددا راه اندازی کنید. جهت راه‌اندازی مجدد سرور از دستور زیر استفاده کنید:

python manage.py runserver 0.0.0.0:8000

قدم یازدهم: ایجاد Superuser

برای دسترسی به پنل مدیریت جانگو، به یک Superuser نیاز دارید. با استفاده از دستور زیر می‌توانید یک Superuser بسازید:

python manage.py createsuperuser

از شما خواسته می شود نام کاربری، آدرس ایمیل و رمز عبور Superuser را وارد کنید.

پس از انجام تمام این مراحل، یک پروژه جنگو کاملاً پیکربندی شده بر روی سرور CentOS 7 خود خواهید داشت که برای توسعه و استفاده بیشتر آماده است.

خطاهای احتمالی هنگام نصب Django روی  Centos7

در این بخش، دو نوع خطای‌ رایج‌تر در هنگام نصب Django روی centos7 را بررسی می‌کنیم:

مورد اول: اولین موردی که بررسی می‌کنیم، خطایی است که ممکن است هنگام اجرای دستور زیر، با آن مواجه شوید:

python manage.py migrate

تصویر زیر، شکل خطای موجود در هنگام نصب Django روی centos7 را نشان می‌دهد:

نصب Django روی centos7

سپس از لینک بالا، فایل سورس با پسوند tar.gz را دانلود کنید. مطابق تصویر زیر:

نصب Django روی centos7

ما در این آموزش، با استفاده از source code نصب نسخه جدید را انجام خواهیم داد:

cd /opt
wget https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
tar -xzf sqlite-autoconf-3360000.tar.gz
cd sqlite-autoconf-3360000
./configure
make install

خب از آنجایی که Python repl همچنان از نسخه قدیمی استفاده می‌کند، دردی از ما دوا نمی‌شود! در ادامه از دستور زیر استفاده کنید:

python
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.7.17'

حالا با استفاده از کلید‌های ctlr+d از محیط پایتون خارج شوید. نکته مهم اینکه برای استفاده از مسیر جدید sqlite3، باید مجدداً پایتون را کامپایل کنید.

با استفاده از دستور زیر، می‌توانید دستور sqlite را بررسی کنید:

sqlite3 --version

اکنون باید از نسخه به‌روزشده استفاده کنید:

python3
Python 3.6.8 (default, May  8 2020, 11:34:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
.Type "help", "copyright", "credits" or "license" for more information
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.31.1'

مجدداً به مسیر زیر رفته و دستوری که با خطا مواجه شده را وارد کنید:

Cd /root/my_django_app/mydjangoapp/
python manage.py migrate

اگر خطا از بین نرفت، مراحل زیر را طی کنید

cd /opt/
cp -rf /usr/lib64/libsqlite3.so.0.8.6 /usr/lib64/libsqlite3.so.0.8.6_bak
cp -rf /usr/local/lib/libsqlite3.so.0.8.6 /usr/lib64/libsqlite3.so.0.8.6
python3
. Python 3.7.9 (default, Apr 30 2021, 20:11:56) [GCC 7.3.1 20180712 (Red Hat 7.3.1-12)] on linux Type "help", "copyright", "credits" or "license" for more information
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.36.0'

کار در اینجا به اتمام رسیده و قاعدتاً باید خطا رفع شده باشد:

Cd /root/my_django_app/mydjangoapp/
python manage.py migrate

خروجی‌ای که دریافت می‌کنید، باید مشابه زیر باشد:

:Operations to perform
  Apply all migrations: admin, auth, contenttypes, sessions
:Running migrations
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

خطای دوم

اگر هنگام اجرای دستور configure، با خطای زیر مواجه شدید، اصلاً نگران نباشید! چگونگی رفع این خطا را هم آموزش خواهیم داد:

نصب Django روی centos7

در گام اول، دستور زیر را اجرا کنید:

yum install gcc glibc –y

اگر مشکل برطرف نشد، سراغ دستور زیر بروید:

yum -y reinstall glibc gcc gcc-c++ make

در برخی موارد نادر، ممکن است باز هم مشکل حل نشود! در چنین حالاتی، باید سراغ استفاده از دستور زیر بروید:

yum reinstall wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel db4-devel

پس از واردکردن این دستور، مشکل شما باید حل شود.

نکته: اگر از این دستور استفاده می‌کنید، حتماً باید نسخه‌های php را هم بیلد کنید!

کلام آخر

در این مقاله به صورت گام به گام نحوه نصب Django روی centos7 را به شما آموزش دادیم تا بتوانید به راحتی این کار را انجام دهید. همچنین در انتهای متن خطاهای احتمالی و نحوه رفع مشکلات احتمالی در هنگام  نصب Django روی centos7را برای شما توضیح دادیم تا در حین نصب این نرم‌افزار توسعه وب دچار هیچگونه مشکلی نشوید.

اگر شما یک وب‌سایت را با زبان برنامه‌نویسی پایتون راه انداخته باشید، نیاز دارید که یک سری ماژول و برنامه خاص روی هاست‌تان داشته باشید. هاست پایتون ایران سرور از فریم‌ورک‌های جنگو (Django) و فلسک (Flask) پیروی می‌کند. همچنین پشتیبانان فنی به‌خوبی با پایتون آشنایی دارند و در صورتی که مشکلی ایجاد می‌شوند، می‌توانند آن را برطرف کنند. توصیه می‌کنم در صورتی که سایت‌تان را با پایتون طراحی کرده‌اید، حتماً هاست پایتون ایران سرور را تست کنید.

سوالات متداولی که شما می‌پرسید؟ 

1. کدام توزیع لینوکس برای جنگو بهتر است؟

اوبونتو بهترین گزینه در میان توزیع‌های مختلف لینوکس است که می‌توانید جنگو روی آن نصب کنید.

2. چگونه یک برنامه جنگو را می‌توان اجرا کرد؟

  1. یک برنامه نمونه را Clone کنید؛
  2. تنظمیات پایتون خود را تایید کنید؛
  3. Cloud SQL Auth Proxy را برای اتصال به Cloud SQL از local Machine خود دانلود کنید؛
  4. تنظیم یک Cloud SQL برای نمونه PostgreSQL  را انجام دهید؛
  5. مقادیر محرمانه را در Secret Manager ذخیره کنید؛
  6. برنامه را اجرا کنید؛
  7. debugging را غیرفعال کنید؛
  8.  محدودسازی privileges یوز دیتابیس را انجام دهید؛

3. از چه ورژن جنگو باید استفاده کرد؟

به طور کلی، اگر از کد در توسعه استفاده می کنید، باید از نسخه پایدار استفاده کنید. پروژه جنگو هر هشت ماه یکبار یک نسخه کامل با ثبات منتشر می‌کند، با به‌روزرسانی‌های می‌توانید اشکالات را از بین ببرید؛

4. چه ادیتور لینوکسی برای جنگو بهترین گزینه است؟

  • PyCharm: توسط JetBrains توسعه یافته است و یک IDE Python Django بسیار مورد علاقه در میان توسعه دهندگان حرفه ای به شمار می‌آید؛
  • Atom:یک ویرایشگر کد منبع باز که توسط GitHub ساخته شده است؛
  • Jupyter
  • Spyder
  • PyDev.
  • Thonny
  • Wing
  • Vim

منابع: 

zomro

4.7/5 - (3 امتیاز)

مایلید هر دو هفته یک ایمیل مفید دریافت کنید؟

ما را در شبکه‌های اجتماعی دنبال کنید

همچنین شاید دوست داشته باشید!

ساخت Swap File در لینوکس

راهنمای ساخت و حذف Swap File در لینوکس

0
Swap File نجات‌دهنده آبروی RAM جلوی کاربر است؛ فایل سیستم کوچکی که هنگام کم آوردن حافظه RAM، وارد صحنه شده و مسئولیت ذخیره داده‌ها را…

نظرات کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست