راهنمای گام به گام برای میزبانی 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 شما اکنون باید زنده باشد.