Gunakan Pengehosan Dikongsi Apl Django.

WBOY
Lepaskan: 2024-08-25 06:02:09
asal
368 orang telah melayarinya

penerangan

Pada kesempatan ini, saya akan berkongsi cara menggunakan aplikasi django ke hosting bersama. Untuk memudahkan urusan, saya menggunakan panel DirectAdmin. Jika anda menggunakan cpanel atau panel lain, saya rasa ia tidak akan jauh berbeza. Pastikan anda sudah mempunyai domain dan beli perkhidmatan hosting kongsi di mana-mana sahaja, saya tidak akan menghadkan anda untuk menggunakan perkhidmatan tertentu.

Versikeperluanyang digunakan dalam projek

  • python versi 3.9.18
  • Django versi 4.2

Langkah

Pastikan perkhidmatan pengehosan kongsi berjalan sebagaimana mestinya.

Sebelum memasuki kaedah penempatan, pastikan perkhidmatan pengehosan kongsi berjalan sebagaimana mestinya.

Deploy Django App Shared Hosting.
Secara praktikal kali ini, saya akan menggunakan domain artinetix.cloud (sesuaikan dengan nama domain anda), untuk memastikan perkhidmatan berjalan seperti biasa, jika kita mengakses URL domain halaman akan muncul seperti berikut.

Deploy Django App Shared Hosting.

Buat sub-domain

Buat subdomain untuk membezakan satu URL aplikasi daripada yang lain, satu domain boleh digunakan untuk banyak subdomain. Contohnya, jika domain yang digunakan ialah artinetix.cloud maka subdomain yang akan dibuat adalah seperti django_tutor.artinetix.cloud Anda boleh membaca lebih lanjut tentang subdomain pada sumber internet untuk lebih memahami subdomain.

  • Buka halaman papan pemuka
  • Cari menu pengurusan Subdomain

Deploy Django App Shared Hosting.

  • Pastikan anda telah memilih domain yang akan digunakan sebagai asas (bulatan merah) dan tambah subdomain baharu (bulatan biru)

Deploy Django App Shared Hosting.

  • Hanya gunakan akar dokumen lalai, saya akan buat sub-domain dengan nama django-tutor

Deploy Django App Shared Hosting.

  • Klik add sub-domain, jika sub-domain telah berjaya dibuat ia akan muncul dalam jadual.

Deploy Django App Shared Hosting.

  • Cuba lawati alamat subdomain, adakah ia boleh diakses dan memaparkan halaman seperti berikut?

Deploy Django App Shared Hosting.

Jangan risau, kerana kami belum menyediakan SSL supaya kami boleh mengakses menggunakan protokol https, bukan hanya http. Anda boleh klik advance dan terus ke alamat untuk melihat jika url berfungsi.

Deploy Django App Shared Hosting.

Imej di atas menunjukkan bahawa URL kini boleh diakses. Langkah seterusnya ialah persediaan SSL, supaya web lebih selamat daripada serangan pihak luar.

Persediaan SSL

  • Buka halaman sijil ssl.

Deploy Django App Shared Hosting.

  • Buka menu untuk menjana SSL baharu.

Deploy Django App Shared Hosting.

  • Tatal ke bawah dan anda akan menemui alamat URL anda (kedua-duanya tanpa www dan dengan wwww) yang tidak ditandakan. Semak alamat URL yang akan menjana SSL (bulatan merah) dan pastikan paksa ubah hala SSL juga ditanda (bulatan biru) kemudian klik simpan.

Deploy Django App Shared Hosting.

Di bahagian atas halaman web, baris animasi pemuatan akan muncul menunjukkan bahawa proses sedang berjalan. Jika proses berjaya, pemberitahuan akan dipaparkan seperti berikut.

Deploy Django App Shared Hosting.

Terdapat nama subdomain yang dijana SSL (dengan dan tanpa www) dibulatkan dengan warna biru.

  • Selepas menyegarkan halaman, tahniah! kini subdomain anda boleh diakses dengan lebih selamat.

Deploy Django App Shared Hosting.

Menyediakan Apl Django

Saya tidak akan menumpukan pada cara menyediakan djangopersekitarandari awal untuk memendekkan artikel. Sediakan aplikasi django yang telah dibangunkan dan boleh berjalan seperti biasa dipersekitarantempatan.

Dalam amalan kali ini saya akan menggunakan django lalai dahulu (masih dalam tetapan awaljana) menggunakan django 4.2
Deploy Django App Shared Hosting.
Apabila anda menjalankan projek django dan halaman seperti dalam imej di atas muncul, ini bermakna django berjalan seperti biasa.

  • fail untuk digunakan Tidak semua fail perlu disimpan pada pelayan, laraskannya dengan projek anda. Pada kesempatan ini, saya hanya menggunakan templat .gitignore python pada github.

pohon failprojek yang digunakan dalam artikel (dalam erti kata bahawa fail ini akan pergi ke pelayan, bukan fail yang telah dimasukkan dalam senarai .gitignore) adalah seperti berikut.

rreee

Buat zip yang mengandungi fail projekdjangoanda sebelum meletakkannya pada pelayan.

  • Urusfail pada panel Masukkan menu pengurus fail

Deploy Django App Shared Hosting.

Navigasi ke folder domain > (url subdomain anda) > html awam, dalam folder html awam mengandungi fail index.html. Fail itu ialah fail yang dipaparkan semasa kami mencipta subdomain tadi.

Deploy Django App Shared Hosting.

Padam folder cgi-bin dan fail index.html, muat naik projek zip yang kami buat tadi dan jangan lupa ekstrak. Buat masa ini, langkah-langkah dalambahagianini sudah memadai, mari kita teruskan untuk mencipta persekitaran django.

  • Buat persekitaran aplikasi python Dalam panel papan pemuka, kliksediakan aplikasi python.

Deploy Django App Shared Hosting.

pilih create python app dan masukkan configuration seperti berikut, untuk application root boleh adjust sebab bila letak file kita dah letak python app dalam public_html folder supaya konfigurasi seperti dalam gambar di bawah. Jika sesuai, klikciptauntuk mencipta persekitaran pada pelayan.

Deploy Django App Shared Hosting.
Selepas berjayasetup aplikasi pythondan melawati URL di atas, ia hanya akan memaparkan python ia berfungsi. Ini berlaku kerana kami belummengimportprojek django dan persekitarannya tidak memasang django.

  • pasang django dalam persekitaran salin arahan yang telah saya bulatkan dengan warna merah dengan mengklik pada teks arahan.

Deploy Django App Shared Hosting.

masuk terminal

Deploy Django App Shared Hosting.

Dalam terminal, tampal kod sebelumnya dengan mengklik kanan dan menampal.

Jika berjaya, sila ikuti langkah berikut.

  1. Masukkan senarai pip arahan untuk melihat pakej yang telah dipasang.
  2. semak sama ada kita berada dalamdirektoriyang betul dengan arahan ls, pastikan fail requirements.txt ada.
  3. Pasang semua pakej menggunakan fail requirements.txt, dengan arahan pip install -r requirements.txt

Memasang django padaenvirontmentselesai, kami akan beralih ke pengurus fail untuk mengedit fail passenger_wsgi.

  • Edit fail django passenger_wsgi Import aplikasi django daripada folder nama projek django (folder mengandungi fail settings.py) dengan mengedit fail passenger_wsgi, fail ini berada dalam direktori yang sama dengan requirements.txt, dengan kata lain akar apl django kami.

passenger.py

rreee

nota: django_tutor menyesuaikan dengan nama projek apl django masing-masing

  • Edit the settings.py file The configuration of the settings file duringproductionis different from when it was still in thedevelopmentstage, edit the settings.py file (located in the project name folder) to be as follows.
  1. Change DEBUG = True to DEBUG = False
  2. Allow the host to access the app, ALLOWED_HOSTS = [] becomes ALLOWED_HOSTS = ['django-tutor.artinetix.cloud', 'www.django-tutor.artinetix.cloud'] according to the domain name used.
  3. At the end of the file, add the following line of code to copy static files (css, js, image, etc) STATIC_ROOT = BASE_DIR / 'public'

Restart the django app by going to the dashboard panel > setup python app > click restart in the action column.

Deploy Django App Shared Hosting.

Try accessing the URL, does a page appear more or less like this?

Deploy Django App Shared Hosting.

Try accessing the admin section by adding admin at the end of the URL to domain-name/admin then more or less a page will display like the one below.

Deploy Django App Shared Hosting.

If you pay attention, it looks like a joke. This is because the CSS, JS and other static files have not been copied to the Django project, to do this you can pay attention to the following steps.

  1. Go to the python app setup page.
  2. Click the edit menu on the desired actionpython app.
  3. Copy the command to enter the environment.Deploy Django App Shared Hosting.
  4. Enter the terminal page and paste the command.
  5. If you successfully enter the environment, run the python manage.py collectstatic command to move static files such as CSS and JS to a folder according to the STATIC_ROOT path in settings.py.

When you successfully carry out the steps above, in the root folder of the app there should be a public folder containing CSS and JS files (static files used in Django). Please try accessing the admin url in the django app by adding admin behind the url (url/admin). If the display is still like below and when we check the console there is an error MIME type is not executable. Then you need to add the whitenoise package to the django app. You can refer to the following URL Whitenoise doc. Don't forget to always restart every time you make code changes on the server :).

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

That's how to deploy a django app onshared hostingusing DirectAdmin, actually there is still a lot to do besides deploying, namely setting up the database and adding environment variables. You also need to pay attention, this method is the manual method that I usually do, it seems complicated. To make the deployment process easier, you can usually use ci & cd via github actions. That's enough from me, if there is anything you want to convey, whether it's suggestions or constructive criticism, please comment in the comments column. That's all, thank you.

Atas ialah kandungan terperinci Gunakan Pengehosan Dikongsi Apl Django.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!