{"title":"Bagaimana menyebarkan dengan WSGI","version":"5.2","locale":"id","docname":"howto/deployment/wsgi/index","url":"/id/5.2/howto/deployment/wsgi/","canonical":"https://djangodocs.dev/id/5.2/howto/deployment/wsgi/","summary":"Serambi penyebaran utama Django adalah WSGI , standar Phyton untuk peladen jaringan dan aplikasi. Perintah pengelolaan Django startproject mensetel konfigurasi…","html":"<h1>Bagaimana menyebarkan dengan WSGI<a class=\"heading-anchor\" href=\"#how-to-deploy-with-wsgi\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Serambi penyebaran utama Django adalah <a class=\"reference external\" href=\"https://wsgi.readthedocs.io/en/latest/\">WSGI</a>, standar Phyton untuk peladen jaringan dan aplikasi.</p>\n<p>Perintah pengelolaan Django <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">startproject</span></code></a> mensetel konfigurasi awalan minimal WSGI untuk anda, yang dapat anda atur sesuai kebutuhan untuk proyek anda, dan melangsungkan peladen aplikasi patuh-WSGI apapun anda gunakan.</p>\n<p>Django menyertakan dokumentasi mulai untuk peladen WSGI berikut:</p>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/id/5.2/howto/deployment/wsgi/gunicorn/\">Bagaimana menggunakan Django dengan Gunicorn</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/id/5.2/howto/deployment/wsgi/uwsgi/\">Bagaimana menggunakan Django dengan uWSGI</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/id/5.2/howto/deployment/wsgi/modwsgi/\">Bagaimana menggunakan Django dengan Apache dan <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code></a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/id/5.2/howto/deployment/wsgi/apache-auth/\">Bagaimana mengautentifikasi terhadap basisdata pengguna Django dari Apache</a></li>\n</ul>\n</div>\n<section id=\"the-application-object\">\n<h2>Obyek <code class=\"docutils literal notranslate\"><span class=\"pre\">aplikasi</span></code><a class=\"heading-anchor\" href=\"#the-application-object\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Konsep kunci dari penyebaran dengan WSGI adalah <code class=\"docutils literal notranslate\"><span class=\"pre\">application</span></code> callable dimana peladen aplikasi gunakan untuk komunikasi dengan kode anda. Dia umumnya disediakan sebagai sebuah obyek dinamai <code class=\"docutils literal notranslate\"><span class=\"pre\">application</span></code> di modul Phyton dapat diakses ke peladen.</p>\n<p>Perintah <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">startproject</span></code></a> membuat sebuah berkas <code class=\"file docutils literal notranslate\"><span class=\"pre\">&lt;project_name&gt;/wsgi.py</span></code> yang mengandung seperti callable <code class=\"docutils literal notranslate\"><span class=\"pre\">aplication</span></code>.</p>\n<p>Itu digunakan kedua oleh peladen pengembangan Django dan dalam produksi penyebaran WSGI.</p>\n<p>Peladen WSGI mengambil jalur pada callable <code class=\"docutils literal notranslate\"><span class=\"pre\">application</span></code> dari konfigurasi mereka. Peladen pasang tetap Django, yaitu perintah <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">runserver</span></code></a>, membacanya dari pengaturan <a class=\"reference internal\" href=\"/id/5.2/ref/settings/#std-setting-WSGI_APPLICATION\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">WSGI_APPLICATION</span></code></a>. Secara awalan, dia disetel ke <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;project_name&gt;.wsgi.application</span></code>, yang menunjuk ke <code class=\"docutils literal notranslate\"><span class=\"pre\">application</span></code> dapat dipanggil dalam <code class=\"file docutils literal notranslate\"><span class=\"pre\">&lt;project_name&gt;/wsgi.py</span></code>.</p>\n</section>\n<section id=\"configuring-the-settings-module\">\n<h2>Konfigurasi modul pengaturan<a class=\"heading-anchor\" href=\"#configuring-the-settings-module\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ketika peladen WSGI memuat aplikasi anda, Django butuh mengimpor modul pengaturan -- itu dimana aplikasi keseluruhan anda ditentukan.</p>\n<p>Django menggunakan lingkungan variabel  <span class=\"target\" id=\"index-4\"></span><a class=\"reference internal\" href=\"/id/5.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\"><span class=\"pre\">DJANGO_SETTINGS_MODULE</span></code></a> untuk menempatkan modul pengaturan yang sesuai. Dia harus mengandung jalur titik pada modul pengaturan. Anda dapat menggunakan nilai berbeda untuk pengembangan dan produksi; dia semua tergantung pada bagaimana anda mengorganisasikan pengaturan anda.</p>\n<p>Jika variabel ini belum disetel, nilai awal <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code> disetel ke <code class=\"docutils literal notranslate\"><span class=\"pre\">mysite.settings</span></code>, dinama <code class=\"docutils literal notranslate\"><span class=\"pre\">mysite</span></code> adalah nama dari proyek anda. Itu bagaimana <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">runserver</span></code></a> menemukan berkas pengaturan awal secara awal.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Sejak lingkungan variabel diproses luas, ini tidak bekerja ketika anda menjalankan banyak situs Django dalam pengolahan yang sama. Ini terjadi dengan mod_wsgi.</p>\n<p>Untuk menghindari masalah ini, gunakan suasana daemon wsgi dengan setiap situs di pengolahan daemon itu sendiri, atau menimpa nilai dari lingkungan dengan memaksa <code class=\"docutils literal notranslate\"><span class=\"pre\">os.environ[&quot;DJANGO_SETTINGS_MODULE&quot;]</span> <span class=\"pre\">=</span> <span class=\"pre\">&quot;mysite.settings&quot;</span></code> dalam <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code> anda.</p>\n</aside>\n</section>\n<section id=\"applying-wsgi-middleware\">\n<h2>Memberlakukan middleware WSGI<a class=\"heading-anchor\" href=\"#applying-wsgi-middleware\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Untuk memberlakukan <span class=\"target\" id=\"index-5\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-3333/#middleware-components-that-play-both-sides\"><strong>WSGI middleware</strong></a> anda dapat membungkus obyek aplikasi. Contohnya anda dapat menambah baris ini dibawah dari <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">helloworld.wsgi</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">HelloWorldApplication</span>\n\n<span class=\"n\">application</span> <span class=\"o\">=</span> <span class=\"n\">HelloWorldApplication</span><span class=\"p\">(</span><span class=\"n\">application</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Anda juga dapar mengganti aplikasi WSGI Django dengan penyesuaian aplikasi WSGI yang diutuskan kemudian pada aplikasi WSGI Django, jika anda ingin menggabungkan aplikasi Django dengan aplikasi WSGI dari kerangka lain.</p>\n</section>","rootId":"how-to-deploy-with-wsgi","toc":[{"title":"Obyek aplikasi","anchor":"the-application-object","children":[]},{"title":"Konfigurasi modul pengaturan","anchor":"configuring-the-settings-module","children":[]},{"title":"Memberlakukan middleware WSGI","anchor":"applying-wsgi-middleware","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Panduan Cara-cara","url":"/id/5.2/howto/"},{"docname":"howto/deployment/index","title":"Bagaimana menyebarkan Django","url":"/id/5.2/howto/deployment/"}],"prev":{"docname":"howto/deployment/index","title":"Bagaimana menyebarkan Django","url":"/id/5.2/howto/deployment/"},"next":{"docname":"howto/deployment/wsgi/gunicorn","title":"Bagaimana menggunakan Django dengan Gunicorn","url":"/id/5.2/howto/deployment/wsgi/gunicorn/"},"formats":{"html":"/id/5.2/howto/deployment/wsgi/","markdown":"/id/5.2/howto/deployment/wsgi.md","json":"/id/5.2/howto/deployment/wsgi.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/howto/deployment/wsgi/index.txt","official":"https://docs.djangoproject.com/id/5.2/howto/deployment/wsgi/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}