Panduan Lengkap Setup Stack Web Server dengan Docker

Oleh Fitri Aulia
Panduan Teknis Setup Stack Web Server dengan Docker

Docker sekarang jadi salah satu tools paling populer buat mengelola aplikasi agar lebih efisien, termasuk buat setup web server. Di artikel kali ini, kita akan membahas cara mudah membangun stack web server yang terdiri dari Nginx, PHP, dan MySQL. Nah, karena semua komponen ini akan jalan di container masing-masing, proses deploy dan setup server jadi makin mudah. Jadi, kalau mau buat dev environment yang rapi, clean, dan anti ribet, cus langsung ikutin step-by-step-nya di bawah!

Persiapan Sebelum Mulai

Sebelum mulai mengulik setup stack web server di Docker, pastikan dulu udah menyiapkan beberapa hal penting di bawah ini:

  • Install Docker: Pastikan Docker udah terinstall di VPS. Kalau belum, bisa cek panduan instalasi Docker.
  • Cek Docker: Coba cek pakai commandย  docker โ€“version buat lihat apakah Docker sudah ke-install dan versinya sesuai. Kalau muncul versi, berarti aman.
  • Siapkan akses terminal: Kita bakal banyak pakai terminal, jadi pastikan punya akses ke terminal atau SSH di server.

Setup Docker Compose untuk Stack Web Server

Dengan Compose, kamu bisa atur stack web server sepertiย  Nginx, PHP, dan MySQL dalam satu file aja. Jadi lebih praktis, tinggal ketik satu command, semuanya langsung running bersama.

1. Persiapan File docker-compose.yml

Buat file baru dengan nama docker-compose.yml di direktori project. Di dalam file ini akan mendefinisikan semua service yang dibutuhkan.

2. Konfigurasi docker-compose.yml

Berikut contoh file docker-compose.yml untuk setup stack web server (Nginx + PHP + MySQL):

docker compose

Baca Juga:  Cara Mengelola DNS Record Di Plesk Panel Agar Web Online

3. Membuat File Konfigurasi Nginx

Buat file konfigurasi untuk Nginx, misalnya nginx.conf, dengan settingan dasar seperti ini:

conf nginx

4. Menjalankan Docker Compose

Setelah file docker-compose.yml dan nginx.conf selesai, run command ini buat download image dan container:

5. Cek Status dan Akses Web Server

Buat cek status container yang udan running, pakai command:

DomaiNesians bisa akses website di browser dengan mengunjungi http://domain.com. Kalau semuanya berjalan benar, Nginx akan memproses request dan menghubungkan ke PHP-FPM.

Membuat Dockerfile Nginx, PHP, dan MySQL

Waktu setup stack web server pakai Docker Compose, kita perlu buat Dockerfile tiap komponen supaya semuanya bisa lancar. Di langkah ini, kita akan buat Dockerfile Nginx, PHP, dan MySQL. Buat MySQL, bisa langsung pakai image resmi dari Docker Hub, jadi tidak perlu repot bikin Dockerfile khusus. Tapi buat Nginx dan PHP, kita akan kustomisasi sedikit agar sesuai dengan kebutuhan proyek kita.

1. Dockerfile Nginx

Untuk Nginx, kita cukup pakai image resmi dari Docker Hub, tapi kita bisa tambah konfigurasi khusus misalnya, file konfigurasi Nginx dan website. Berikut contoh Dockerfile Nginx:

Baca Juga:  Panduan Membuat OpenLiteSpeed Rewrite Rules di CyberPanel

2. Dockerfile PHP

Di PHP, menggunakan PHP-FPM yang berjalan sebagai service terpisah. Berikut Dockerfile PHP:

3. Dockerfile MySQL

Pada MySQL, bisa langsung pakai image resmi dari Docker Hub, jadi tidak perlu membuat Dockerfile khusus. Cukup atur variabel buat password root dan database awal di fileย  docker-compose.yml seperti yang sudah dijelasin sebelumnya.

Tips Optimasi Stack Web Server di Docker

Setelah stack web server berhasil dijalankan, langkah selanjutnya adalah optimasi performanya. Dengan Docker, kamu bisa memanfaatkan beberapa tips supaya stack web server lebih efisien dan responsif. Berikut beberapa cara buat meningkatkan performa server yang berjalan di Docker:

1. Pakai Docker Volumes buat Persisten Data

Saat running container, data yang ada di dalamnya bisa hilang saat container distop atau dihapus. Jadi, pastiin pakai Docker volumes agar data tetap aman dan persisten meski container restart. Misalnya, buat MySQL bisa dengan volume ini di docker-compose.yml:

2. Optimasi Dockerfile untuk Tingkatin Performa

Dockerfile yang terlalu besar atau berisi banyak langkah yang tidak perlu bisa memperlambat build process. Beberapa tips optimasi Dockerfile:

  • Minimalkan layer Docker: Gabungkan command yang serupa menjadi satu layer untuk mengurangi ukuran image.
  • Pakai multi-stage build: Buat kurangi ukuran image, pakai multi-stage build, yaitu hanya salin file yang diperlukan ke image final.

Contoh multi-stage build di Dockerfile:

multi stage

Baca Juga:  Panduan & Akses DomaiNesia Web Tools Untuk Diagnosis Web

3. Set Resource Limits pada Container

Buat menghindari pemakaian resource yang berlebihan, bisa atur limit CPU dan memory buat setiap container di file docker-compose.yml. Ini bantu cegah satu container pakai semua resource dan menyebabkan server jadi lambat.

  1. Pakai Caching buat Tingkatin Kecepatan

Di Nginx, bisa mengaktifkan caching buat tingkatkan performa. Misalnya, caching file statis (gambar atau file JS) bisa mengurangi beban server. Tambah konfigurasi cache di file nginx.conf:

4. Pakai Network Buat Connect Antar Container

Pakai Docker Network buat connect container secara langsung. Dengan ini, container Nginx bisa langsung berkomunikasi dengan PHP dan MySQL tanpa perlu IP atau hostname yang berubah-ubah. Di file docker-compose.yml, kamu bisa menentukan network seperti ini:

Dan memastikan container pakai network yang sama:

5. Pakai Docker Swarm atau Kubernetes untuk Skalabilitas

Kalau traffic web mulai meningkat, bisa mempertimbangkan buat run Docker di dalam mode Swarm atau pakai Kubernetes buat kelola beberapa instance container di berbagai server. Ini memungkinkan skalabilitas horizontal dengan mudah, yang artinya bisa menambah container sesuai kebutuhan tanpa downtime.

Kesimpulan

Dengan Docker Compose, setup stack web server seperti Nginx, PHP, dan MySQL jadi lebih terstruktur dan mudah dikelola. DomaiNesians bisa optimisasi performa server dengan beberapa langkah sederhana, contohnya memakai Docker volumes, mengatur resource limits, dan memanfaatlam caching. Selain itu, Docker kasih fleksibilitas mengelola berbagai container dalam satu tempat, sehingga pengelolaan aplikasi jadi lebih efisien.

Namun, untuk memastikan performa maksimal, kamu juga perlu pakai VPS yang cukup kuat untuk mendukung kebutuhan stack web server tersebut. Kalau belum punya VPS yang sesuai, ini saatnya memeprtimbangkan ke Cloud VPS DomaiNesia. Dengan VPS yang tepat, kamu bisa menjalankan Docker dan stack web server dengan lebih stabil dan responsif, menjadikan experience kelola server jauh lebih mudah.

Fitri Aulia

Hi! I'm a tech enthusiast who loves digging into how things work, especially in web development, VPS setups, and anything open-source.

Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya

Hosting Murah

This will close in 0 seconds