{"title":"menyebarkan berkas tetap","version":"3.0","locale":"id","docname":"howto/static-files/deployment","url":"/id/3.0/howto/static-files/deployment/","canonical":"https://djangodocs.dev/id/3.0/howto/static-files/deployment/","summary":"The basic outline of putting static files into production consists of two steps: run the collectstatic command when static files change, then arrange for…","html":"<h1>menyebarkan berkas tetap<a class=\"heading-anchor\" href=\"#deploying-static-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">Lihat juga</p>\n<p>Untuk perkenalan ke penggunaan <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.staticfiles</code></a>, lihat <a class=\"reference internal\" href=\"/id/3.0/howto/static-files/\"><span class=\"doc\">Mengelola berkas statis (sebagai contoh gambar, JavaScript, CSS)</span></a>.</p>\n</aside>\n<section id=\"serving-static-files-in-production\">\n<span id=\"staticfiles-production\"></span><h2>Melayani berkas statis di produksi<a class=\"heading-anchor\" href=\"#serving-static-files-in-production\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>The basic outline of putting static files into production consists of two\nsteps: run the <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> command when static files change, then\narrange for the collected static files directory (<a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a>) to be\nmoved to the static file server and served. Depending on\n<a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATICFILES_STORAGE\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_STORAGE</code></a>, files may need to be moved to a new location\nmanually or the <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#django.contrib.staticfiles.storage.StaticFilesStorage.post_process\" title=\"django.contrib.staticfiles.storage.StaticFilesStorage.post_process\"><code class=\"xref py py-func docutils literal notranslate\">post_process</code></a> method of\nthe <code class=\"docutils literal notranslate\">Storage</code> class might take care of that.</p>\n<p>Tentu saja, seperti semua tugas-tugas penyebaran, jahat adalah di dalam rincian. Setiap pengaturan produksi akan sedikit berbeda, jadi anda akan butuh mengadaptasi garis besar dasar untuk menyesuaikan kebutuhan anda. Dibawah ini adalah sedikit corak umum yang mungkin membantu.</p>\n<section id=\"serving-the-site-and-your-static-files-from-the-same-server\">\n<h3>Melayani situs dan berkas-berkas tetap anda dari peladen sama<a class=\"heading-anchor\" href=\"#serving-the-site-and-your-static-files-from-the-same-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Jika anda ingin melayani berkas-berkas tetap anda dari peladen sama yang sudah melayani situs anda, pengolahan mungkin terlihat sesuatu seperti:</p>\n<ul class=\"simple\">\n<li><p>Dorong kode anda ke atas ke peladen penyebaran.</p></li>\n<li><p>Di peladen, jalankan <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> untuk menyalin semua berkas statis kedalam <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a>.</p></li>\n<li><p>Konfigurasikan peladen jaringan anda untuk melayani berkas-berkas dalam <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a> dibawah URL <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a>. Sebagai contoh, ini <a class=\"reference internal\" href=\"/id/3.0/howto/deployment/wsgi/modwsgi/#serving-files\"><span class=\"std std-ref\">how to do this with Apache and mod_wsgi</span></a>.</p></li>\n</ul>\n<p>Anda mungkin akan ingin mengotomatisasi pengolahan ini, khususnya jika anda mendapatkan banyak peladen jaringan.</p>\n</section>\n<section id=\"serving-static-files-from-a-dedicated-server\">\n<h3>Melayani berkas statis dari sebuah server tersendiri<a class=\"heading-anchor\" href=\"#serving-static-files-from-a-dedicated-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Kebanyakan situs Django besar menggunakan peladen Jaringan terpisah -- yaitu, satu yang tidak juga menjalankan Django -- untuk melayani berkas-berkas tetap. Peladen ini sering berjalan jenis berbeda dari peladen jaringan -- lebih cepat tetapi sedikit fitur-penuh. Beberapa pilihan umum adalah:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://nginx.org/en/\">Nginx</a></p></li>\n<li><p>Versi ringkas dari <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a></p></li>\n</ul>\n<p>Konfigurasi peladen ini diluar cakupan dari dokumen ini; periksa setiap dokumentasi masing-masing peladen untuk perintah.</p>\n<p>Sejak peladen berkas tetap anda tidak akan menjalankan Django, anda akan butuh merubah strategi penyebaran menjadi kelihatan sesuatu seperti:</p>\n<ul class=\"simple\">\n<li><p>Ketika berkas statis anda berubah, jalankan <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> secara lokal.</p></li>\n<li><p>Dorong <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a> lokal anda sampai pada peladen berkas tetap kedalam direktori yang sedang dilayani. <a class=\"reference external\" href=\"https://rsync.samba.org/\">rsync</a> adalah sebuah pilihan umum untuk langkah ini sejak dia hanya butuh memindahkan bit ke berkas-berkas tetap yang telah berubah.</p></li>\n</ul>\n</section>\n<section id=\"serving-static-files-from-a-cloud-service-or-cdn\">\n<span id=\"staticfiles-from-cdn\"></span><h3>Melayani berkas statis dari layanan cloud atau CDN<a class=\"heading-anchor\" href=\"#serving-static-files-from-a-cloud-service-or-cdn\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Taktik umum lainnya adalah melayani berkas tetap dari penyedia penyimpanan awan seperti S3 Amazon dan/atau CDN (content delivery network). Ini membuat anda mengabaikan masalah dari melayani berkas tetap dan dapat sering membuat untuk memuat-lebih cepat halaman Jaringan (khususnya ketika menggunakan CDN).</p>\n<p>Ketika menggunakan layanan ini, alurkerja dasar akan kelihatan sedikit seperti diatas, kecuali bahwa daripada menggunakan <code class=\"docutils literal notranslate\">rsync</code> untuk memindahkan berkas-berkas tetap anda ke peladen anda akan butuh untuk memindahkan berkas-berkas tetap ke penyedia panyimpanan atau CDN.</p>\n<p>There's any number of ways you might do this, but if the provider has an API,\nyou can use a <a class=\"reference internal\" href=\"/id/3.0/howto/custom-file-storage/\"><span class=\"doc\">custom file storage backend</span></a>\nto integrate the CDN with your Django project. If you've written or are using a\n3rd party custom storage backend, you can tell <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> to use\nit by setting <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATICFILES_STORAGE\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_STORAGE</code></a> to the storage engine.</p>\n<p>Sebagai contoh, jika anda telah menulis sebuah backend penyimpanan S3 dalam <code class=\"docutils literal notranslate\">myproject.storage.S3Storage</code> anda dapat menggunakannya dengan:</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>STATICFILES_STORAGE <span class=\"o\">=</span> <span class=\"s1\">&#39;myproject.storage.S3Storage&#39;</span>\n</code></pre></div>\n<p>Once that's done, all you have to do is run <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> and your\nstatic files would be pushed through your storage package up to S3. If you\nlater needed to switch to a different storage provider, you may only have to\nchange your <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-STATICFILES_STORAGE\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_STORAGE</code></a> setting.</p>\n<p>Untuk rincian pada bagaimana anda menulis satu dari backend ini, lihat <a class=\"reference internal\" href=\"/id/3.0/howto/custom-file-storage/\"><span class=\"doc\">Menulis sistem penyimpanan disesuaikan</span></a>. Ada aplikasi pihak 3 tersedia yang menyediakan backend penyimpanan untuk banyak API penyimpanan berkas umum. Titik awal bagus adalah <a class=\"reference external\" href=\"https://djangopackages.org/grids/g/storage-backends/\">overview at djangopackages.org</a>.</p>\n</section>\n</section>\n<section id=\"learn-more\">\n<h2>Pelajari lagi<a class=\"heading-anchor\" href=\"#learn-more\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Untuk rincian lengkap pada semua pengaturan, perintah, cetakan etiket, dan potongan-potongan lainnya dalam <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.staticfiles</code></a>, lihat <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/staticfiles/\"><span class=\"doc\">the staticfiles reference</span></a>.</p>\n</section>","rootId":"deploying-static-files","toc":[{"title":"Melayani berkas statis di produksi","anchor":"serving-static-files-in-production","children":[{"title":"Melayani situs dan berkas-berkas tetap anda dari peladen sama","anchor":"serving-the-site-and-your-static-files-from-the-same-server","children":[]},{"title":"Melayani berkas statis dari sebuah server tersendiri","anchor":"serving-static-files-from-a-dedicated-server","children":[]},{"title":"Melayani berkas statis dari layanan cloud atau CDN","anchor":"serving-static-files-from-a-cloud-service-or-cdn","children":[]}]},{"title":"Pelajari lagi","anchor":"learn-more","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Panduan \"Bagaimana\"","url":"/id/3.0/howto/"},{"docname":"howto/deployment/index","title":"Menyebarkan Django","url":"/id/3.0/howto/deployment/"}],"prev":{"docname":"howto/deployment/asgi/uvicorn","title":"Bagaimana menggunakan Django dengan Uvicorn","url":"/id/3.0/howto/deployment/asgi/uvicorn/"},"next":{"docname":"howto/error-reporting","title":"Pelaporan kesalahan","url":"/id/3.0/howto/error-reporting/"},"formats":{"html":"/id/3.0/howto/static-files/deployment/","markdown":"/id/3.0/howto/static-files/deployment.md","json":"/id/3.0/howto/static-files/deployment.json"},"source":"https://github.com/django/django/blob/stable/3.0.x/docs/howto/static-files/deployment.txt","official":"https://docs.djangoproject.com/id/3.0/howto/static-files/deployment/","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","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}