Django, domain ve sunucu kurulumu

Şimdi elimde olan malzemeler, centos tabanlı bir sunucu, (python, pip, django, response, sql vs kurulu) bir adet domain, cloudflare var.
Sunucuda başka web projeleri olduğu için hiç birine zarar vermeden bir domain üzerinden django temelli bir web sitesi yapmayı planlıyorum. Localde kolay, işliyor her şey ama sunucu konusunda biraz araştırdım pek kaynak da bulamadım.

Atıyorum sadece sunucudaki xxx .com domainim üzerinden django ve python dosyalarımı nasıl çalıştırıp yönetebilirim. Bu konuda kaynak, tecrübe her türlü yardıma açığım.

Benim genelde nasil yaptigimi anlatayim. Once internetten nginx kurulumunu bulun. Nginx’in kuruldugundan ve calistigindan emin olun.

Daha sonra Django uygulamasini bir systemd unit’i haline getirin ki arkaplanda calisabilsin.

Django sunucusunu calistirip nginx’te reverse proxy yapin: (/etc/nginx/sites-available/default)

	 location / {
	 	include proxy_params;
	 	proxy_pass http://localhost:5000; # Sunucunun calistigi port, django'da default olarak 5000.
	 }


	 location /static {
	 	autoindex on;
	 	alias /root/backend/staticfiles/; # collectstatic ile toplanan static dosyalarin olmasi gereken dizin
	 }

	 location /media {
	 	autoindex on;
	 	alias /root/backend/media/; # medya dosyalarinin oldugu dizin
	 }

(Eger static veya medya dosyalari yoksa o kisimlari eklemenize gerek yok.)

Django’da debug modu kapatmaniz, static/media dosyalariyla ilgili ayarlar yapmaniz ve yayinlanacak adresi ALLOWED_HOSTS'a eklemeniz lazim, suraya goz atin: Deployment checklist | Django documentation | Django

Config’te bir degisiklik oldugunda nginx’e restart atmaniz lazim:

sudo systemctl restart nginx

Ha bir de, firewall’dan 80 portuna izin vermeniz lazim, ufw icin:

sudo ufw allow 80

Bir yeri atlamadiysam en kolay sekliyle boyle olmasi gerek. Gunicorn ile yapilmasi daha cok tavsiye ediliyor ama ben en basit halini gosterdim. Onun icin suraya bakabilirisniz:

2 Beğeni