برای نادیده گرفتن محتوا دکمه "Enter" را فشار دهید

آموزش دیپلوی جنگو بر روی AlmaLinux

برای دیپلوی یک برنامه جنگو بر روی Almalinux 8.9، مراحل زیر را دنبال کنید:

۱. بروزرسانی سیستم

ابتدا با دستورات زیر مطمئن شوید که سیستم شما به روز است:

sudo dnf update -y
sudo dnf upgrade -y

۲. نصب وابستگی‌ها

برنامه جنگو به پایتون، سرور وب (مانند Nginx یا Apache)، و پایگاه‌داده (مانند PostgreSQL یا MySQL) نیاز دارد. ابتدا وابستگی‌های پایتون را نصب کنید:

sudo dnf install python3 python3-pip python3-devel gcc -y

۳. ایجاد یک محیط مجازی (Virtual Environment)

برای ایزوله کردن محیط پروژه، یک محیط مجازی ایجاد کنید:

python3 -m venv venv
source venv/bin/activate

۴. نصب جنگو

حالا جنگو را در محیط مجازی نصب کنید:

pip install django

۵. تنظیمات پایگاه‌داده

اگر از PostgreSQL استفاده می‌کنید، آن را نصب کنید:

sudo dnf install postgresql-server postgresql-contrib -y
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql

یک دیتابیس برای پروژه جنگو ایجاد کنید. با کاربر postgres وارد شوید و دستور زیر را اجرا کنید:

sudo -i -u postgres
psql
CREATE DATABASE mydb;
CREATE USER myuser WITH PASSWORD 'mypassword';
ALTER ROLE myuser SET client_encoding TO 'utf8';
ALTER ROLE myuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE myuser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
\q
exit

سپس در فایل تنظیمات جنگو (settings.py)، پایگاه‌داده را به این صورت تنظیم کنید:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydb',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

۶. مهاجرت پایگاه‌داده

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

python manage.py migrate

۷. تنظیمات فایل‌های استاتیک

برای مدیریت فایل‌های استاتیک (مانند CSS، JavaScript و تصاویر) تنظیمات زیر را در فایل settings.py انجام دهید:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

سپس دستور زیر را اجرا کنید تا فایل‌های استاتیک جمع‌آوری شوند:

python manage.py collectstatic

۸. تنظیمات سرور وب

شما می‌توانید از Nginx یا Apache به عنوان سرور وب استفاده کنید.

نصب و تنظیم Nginx:

ابتدا Nginx را نصب کنید:

sudo dnf install nginx -y
sudo systemctl enable --now nginx

سپس فایل پیکربندی Nginx برای پروژه خود را به صورت زیر تنظیم کنید:

sudo nano /etc/nginx/conf.d/myproject.conf

و این محتوا را وارد کنید:

server {
    listen 80;
    server_name your_domain_or_IP;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /static/ {
        alias /path_to_your_project/static/;
    }
}

پس از آن، Nginx را ری‌استارت کنید:

sudo systemctl restart nginx

تنظیم UWSGI برای جنگو:

UWSGI یک اپلیکیشن سرور برای اجرای جنگو است. ابتدا آن را نصب کنید:

pip install uwsgi

سپس یک فایل کانفیگ برای UWSGI ایجاد کنید:

nano uwsgi.ini

و محتوای زیر را وارد کنید:

[uwsgi]
chdir = /path_to_your_project/
module = myproject.wsgi:application
env = DJANGO_SETTINGS_MODULE=myproject.settings
master = true
processes = 5
socket = 127.0.0.1:8000
vacuum = true

حالا UWSGI را اجرا کنید:

uwsgi --ini uwsgi.ini

۹. تنظیم فایروال

اگر فایروال روی سرور فعال است، باید پورت ۸۰ (و اگر SSL استفاده می‌کنید پورت ۴۴۳) را باز کنید:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

۱۰. تست نهایی

در مرورگر آدرس IP یا دامنه سرور خود را وارد کنید و مطمئن شوید که سایت جنگو با موفقیت بارگذاری می‌شود.

با این مراحل می‌توانید جنگو را روی Almalinux 8.9 دیپلوی کنید.

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