برنامه نویسی

راهنمای گام به گام برای میزبانی API پس زمینه Django خود در سرور VPS (Contabo)

در اینجا راهنمای گام به گام برای میزبانی API پس زمینه Django خود در زیر دامنه (api-subdomain.mydomain.co.ke) با استفاده از چیز کوچکبا تفنگ داروت از دست دادن به عنوان سرور شما


1 زیر دامنه را به سرور Contabo خود نشان دهید (تنظیمات DNS)

روی شما ثبت دامنه (جایی که mydomain.co.ke را خریداری کردید):

📝 ممکن است تا 10-30 دقیقه طول بکشد تا DNS پخش شود.

برای تأیید اینکه زیر دامنه توسط پینگ پخش شده است. یعنی پینگ api-subdomain.domain.com

2 نصب بسته های مورد نیاز در Contabo (اوبونتو)

sudo apt update
sudo apt install python3-pip python3-venv nginx git
pip install gunicorn
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


3 برنامه Django خود را به سرور کلون کنید

cd /var/www/
sudo git clone https://github.com/your-username/your-django-repo.git subdomain_be
cd subdomain_be
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مهاجرت های Django را اجرا کنید:

python manage.py migrate
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

جمع آوری پرونده های استاتیک:

python manage.py collectstatic
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


4 تست اسلحه

Gunicorn را اجرا کنید تا مطمئن شوید برنامه شما اجرا می شود:

gunicorn --bind 127.0.0.1:8000 django_project_backend.wsgi:application
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تعویض کردن django_project_backend با نام پروژه Django خود (همان پوشه با settings.py).


5 یک سرویس SystemD برای Gunicorn تنظیم کنید

ایجاد پرونده:

sudo nano /etc/systemd/system/subdomain_be.service
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این را بچسبانید:

[Unit]
Description=Gunicorn daemon for api-subdomain
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/subdomain_be
ExecStart=/var/www/subdomain_be/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/var/www/subdomain_be/subdomain_be.sock django_project_backend.wsgi:application

[Install]
WantedBy=multi-user.target
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شروع و فعال کنید:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl start subdomain_be
sudo systemctl enable subdomain_be
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

وضعیت را بررسی کنید:

sudo systemctl status subdomain_be
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


6 nginx را برای زیر دامنه پیکربندی کنید

sudo nano /etc/nginx/sites-available/api-subdomain
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خمیر:

server {
    listen 80;
    server_name api-subdomain.mydomain.co.ke;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /var/www/subdomain_be;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/var/www/subdomain_be/subdomain_be.sock;
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پیکربندی را فعال کنید:

sudo ln -s /etc/nginx/sites-available/api-subdomain /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


7 (اختیاری اما توصیه می شود) HTTPS را با Let's Encrypt تنظیم کنید

نصب Certbot:

sudo apt install certbot python3-certbot-nginx
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آن را اجرا کنید:

sudo certbot --nginx -d api-subdomain.mydomain.co.ke
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اجازه دهید Certbot به طور خودکار پیکربندی NGINX خود را به روز کند.


8 تأیید کردن

بازدید:
http://api-subdomain.mydomain.co.ke
یا
https://api-subdomain.mydomain.co.ke (اگر SSL فعال باشد)

API Django شما اکنون باید زنده باشد.

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا