Deploy Django App Shared Hosting.

WBOY
Freigeben: 2024-08-25 06:02:09
Original
367 Leute haben es durchsucht

deskripsi

Pada kesempatan ini, saya akan membagikan bagaimana mendeploy aplikasi django ke shared hosting. Untuk lebih memudahkan, saya menggunakan panel DirectAdmin. Jika anda menggunakan cpanel atau panel lainnya, saya rasa tidak akan jauh berbeda. Pastikan anda sudah memiliki domain dan membeli layanan shared hosting dimana saja, saya tidak akan membatasi harus menggunakan layanan tertentu.

Versirequirementsyang digunakan dalam projek

  • python versi 3.9.18
  • Django versi 4.2

Langkah-Langkah

Memastikan layanan shared hosting berjalan sebagai mana mestinya.

Sebelum masuk pada cara deploy, pastikan layanan shared hosting berjalan sebagai mana mestinya.

Deploy Django App Shared Hosting.
Pada praktek kali ini, saya akan menggunakan domain artinetix.cloud (sesuaikan dengan nama domain anda), untuk memastikan layanan berjalan normal, jika kita mengakses url domain akan keluar halaman seperti berikut.

Deploy Django App Shared Hosting.

Buat sub-domain

Buat sub-domain untuk membedakan url aplikasi satu dengan yang lain, satu domain dapat digunakan untuk banyak sub-domain. Sebagai contoh, jika domain yang digunakan artinetix.cloud maka sub-domain yang akan dibuat akan seperti django_tutor.artinetix.cloud anda dapat membaca lebih lanjut tentang sub-domain pada sumber diinternet untuk lebih memahami sub-domain.

  • Buka halaman dashboard
  • Cari menu Subdomain-management

Deploy Django App Shared Hosting.

  • Pastikan sudah memilih domain yang akan digunakan sebagai base (lingkaran merah) dan tambahkan subdomain baru (lingkaran biru)

Deploy Django App Shared Hosting.

  • Gunakan default document root saja, saya akan membuat sub-domain dengan nama django-tutor

Deploy Django App Shared Hosting.

  • Klik add sub-domain, jika sub-domain sudah berhasil dibuat akan muncul pada table.

Deploy Django App Shared Hosting.

  • Coba kunjungi alamat sub-domain apakah sudah dapat diakses dan menampilkan halaman seperti berikut ?

Deploy Django App Shared Hosting.

jangan khawatir, karena kita belum melakukan setup ssl agar dapat mengakses menggunakan protokol https bukan http saja. Anda dapat klik advance dan lanjutkan ke alamat untuk melihat apakah url bekerja.

Deploy Django App Shared Hosting.

gambar diatas menandakan url sudah dapat diakses. Langkah selanjutnya adalah setup ssl, agar web lebih aman dari serangan pihak luar.

Setup ssl

  • Buka halaman ssl certificates.

Deploy Django App Shared Hosting.

  • Buka menu untuk generate ssl baru.

Deploy Django App Shared Hosting.

  • Scroll kebawah dan anda akan menemukan alamat url anda (baik tanpa www dan dengan wwww) yang belum tercentang. Centang pada alamat url yang akan digeneratekan ssl (lingkaran merah) dan pastikan force ssl redirect tercentang juga (lingkaran biru) lalu klik save.

Deploy Django App Shared Hosting.

pada bagian atas halaman web, akan muncul loading animation garis yang menandakan bahwa proses sudah berjalan. Jika proses sudah berhasil, maka akan muncul notifikasi seperti berikut ini.

Deploy Django App Shared Hosting.

ada nama subdomain yang digenerate ssl (dengan dan tanpa www) yang dilingkari biru.

  • Setelah melakukan refresh halaman, selamat ! sekarang subdomain anda sudah dapat diakses dengan lebih aman.

Deploy Django App Shared Hosting.

Mempersiapkan Django App

Saya tidak akan fokus pada bagaimana setupenvironmentdjango dari awal untuk lebih mempersingkat artikel. Siapkan django app yang sudah di develop dan dapat berjalan normal padaenvironmentlokal.

Praktek kali ini saya akan menggunakan default django terlebih dahulu (masih dalam settingan awalgenerate) menggunakan django 4.2
Deploy Django App Shared Hosting.
Saat menjalankan project django dan muncul halaman seperti pada gambar diatas, maka itu berarti django berjalan dengan normal.

  • file yang akan digunakan Tidak semua file harus ditaruh pada server, sesuaikan terhadap project anda. Pada kesempatan kali ini, saya hanya menggunakan .gitignore template python pada github.

file treeproyek yang digunakan pada artikel (dalam artian file ini yang akan masuk ke server, bukan file yang sudah masuk list .gitignore) adalah sebagai berikut.

. |-- django-tutor | |-- __init__.py | |-- asgi.py | |-- settings.py | |-- urls.py | |-- wsgi.py |-- manage.py |-- requirements.txt
Nach dem Login kopieren

Buat zip yang berisikan fileproject djangoanda sebelum di taruh pada server.

  • Managefile pada panel Masuk pada menu file manager

Deploy Django App Shared Hosting.

Navigasikan pada folder domains > (url subdomain anda) > public html, didalam folder public html berisikan file index.html. File itu adalah file yang ditampilkan saat kita membuat subdomain tadi.

Deploy Django App Shared Hosting.

Hapus folder cgi-bin dan file index.html, upload proyek zip yang telah kita buat tadi dan jangan lupa ekstrak. Untuk sementara, langkah padasectionini sudah cukup, kita beralih membuat environment django.

  • Membuat python app environment Pada dashboard panel, kliksetup python app.

Deploy Django App Shared Hosting.

pilih create python app dan masukkan konfigurasi seperti berikut, untuk application root dapat disesuaikan karena pada peletakan file tadi kita sudah menaruh python app pada folder public_html sehingga konfigurasi menjadi seperti pada gambar dibawah. Jika sudah sesuai klikcreateagar dibuatkan environment pada server.

Deploy Django App Shared Hosting.
Setelah berhasilsetup python appdan mengunjungi url tadi, maka hanya akan menampilkan python it works. Itu terjadi karena kita belum melakukanimportproyek django dan environment juga belum terinstall django.

  • install django pada environment copy command yang telah saya lingkari merah dengan cara klik text commandnya.

Deploy Django App Shared Hosting.

masuk pada terminal

Deploy Django App Shared Hosting.

didalam terminal, pastekan code yang tadi dengan cara klik kanan dan paste.

Jika sudah berhasil, silahkan ikut step berikut.

  1. Masukkan command pip list untuk melihat package apa yang sudah terinstall.
  2. cek apakah apakah kita sudah berada padadirectoryyang benar dengan perintah ls pastikan file requirements.txt ada.
  3. Install semua package menggunakan file requirements.txt, dengan perintah pip install -r requirements.txt

Menginstal django padaenvirontmentsudah selesai, kita akan beralih pada file manager untuk mengedit file passenger_wsgi.

  • Edit file django passenger_wsgi import aplikasi django dari folder nama projek django (folder berisi file settings.py) dengan mengedit file passenger_wsgi, file ini berada pada directory yang sama dengan requirements.txt, dengan kata lain root app django kita.

passenger.py

from django_tutor.wsgi import application
Nach dem Login kopieren

note: django_tutor sesuaikan dengan nama projek dari app django masing-masing

  • Edit file settings.py konfigurasi file settings saatproductionberbeda dengan ketika masih tahapdevelopment, edit file settings.py (berada pada folder nama projek) menjadi seperti berikut.
  1. Ubah DEBUG = True menjadi DEBUG = False
  2. Ijinkan host untuk mengakses app, ALLOWED_HOSTS = [] menjadi ALLOWED_HOSTS = ['django-tutor.artinetix.cloud', 'www.django-tutor.artinetix.cloud'] sesuaikan dengan nama domain yang gunakan.
  3. Pada akhir file, tambahkan baris kode berikut untuk menyalin file static (css, js, image, etc) STATIC_ROOT = BASE_DIR / 'public'

Restart django app dengan masuk pada panel dashboard > setup python app > klik restart pada kolom action.

Deploy Django App Shared Hosting.

Coba akses urlnya, apakah sudah muncul halaman kurang lebih seperti ini ?

Deploy Django App Shared Hosting.

Coba akses bagian admin dengan menambahkan admin pada bagian belakang url menjadi nama-domain/admin maka kurang lebih akan menampilkan halaman seperti dibawah ini.

Deploy Django App Shared Hosting.

Jika anda perhatikan, tampilannya seperti alakadarnya. Ini dikarenakan file css, js dan file static lainnya belum dicopy ke projek django, untuk melakukannya anda dapat memperhatikan langkah berikut ini.

  1. Masuk ke halaman setup python app.
  2. Klik menu edit pada actionpython app yang dikehendaki.
  3. Copy command untuk masuk ke environtment.Deploy Django App Shared Hosting.
  4. Masuk pada halaman terminal dan pastekan command.
  5. Jika berhasil masuk pada environment, jalankan command python manage.py collectstatic untuk memindahkan file static seperti css dan js ke folder sesuai dengan path STATIC_ROOT pada settings.py.

Saat berhasil melakukan langkah diatas, pada folder root app seharusnya sudah tersedia folder public dengan berisi file css dan js (file static yg digunakan pada django). Silahkan coba akses url admin pada django app dengan menambahkan admin dibelakang url (url/admin). Jika tampilan masih seperti dibawah ini dan saat kita cek pada console ada error MIME type is not executable. Maka anda perlu menambahkan whitenoise package pada django app. Anda dapat merujuk pada url berikut Whitenoise doc jangan lupa selalu lakukan restart, setiap melakukan perubahan code pada server :).

Deploy Django App Shared Hosting.
error MIME type.
Deploy Django App Shared Hosting.

Demikian cara melakukan deploy django app padashared hostingmenggunakan DirectAdmin, sebenarnya masih banyak yang harus dilakukan selain deploy yaitu setup database dan menambahkan variabel environtment. Perlu diperhatikan juga, cara ini merupakan cara manual yang biasa saya lakukan, memang terkesan ribet. Untuk lebih memudahkan proses deploy, biasanya bisa menggunakan ci & cd melalui github action. Cukup sekian dari saya, jika ada hal yang ingin disampaikan entah itu saran dan kritik yang membangun silahkan komen pada kolom komentar. Sekian terima kasih.

Das obige ist der detaillierte Inhalt vonDeploy Django App Shared Hosting.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!