Nginx merupakan salah satu komponen penting di Carbonio, karena berperan sebagai web server dan reverse proxy untuk berbagai layanan.
Namun, dalam beberapa kasus, Nginx bisa gagal dijalankan (failed to start). Saat hal ini terjadi, biasanya ada dua penyebab utama yang paling sering ditemui:
- Kepemilikan file (ownership) yang tidak sesuai
- Kesalahan sintaks (syntax error) pada file konfigurasi
Artikel ini akan membahas langkah-langkah dasar untuk melakukan troubleshooting pada kedua penyebab tersebut.
1. Mengecek Kepemilikan File (File Ownership)
Di Carbonio, service Nginx berjalan menggunakan user zextras.
Artinya, semua file konfigurasi Nginx harus dimiliki oleh user dan group zextras:zextras.
Jika ada satu saja file yang kepemilikannya salah, Nginx dapat langsung gagal dijalankan.
Lokasi File Konfigurasi Nginx
Beberapa path utama konfigurasi Nginx di Carbonio adalah:
/opt/zextras/conf//opt/zextras/common/conf/
Mengecek Ownership File
Jalankan perintah berikut sebagai user zextras untuk melihat kepemilikan file:
ls -lR /opt/zextras/conf/nginx*
ls -l /opt/zextras/common/conf/nginx.conf
Agar output lebih mudah dibaca, kamu juga bisa menggunakan less:
ls -lR /opt/zextras/conf/nginx* | less
Perhatikan kolom owner dan group.
Semua file seharusnya dimiliki oleh zextras:zextras.
Memperbaiki Ownership yang Salah
Jika ditemukan file dengan owner selain zextras, perbaikannya dilakukan sebagai root:
chown zextras:zextras /path/to/file
Sesuaikan path file dengan file yang bermasalah.
Contoh Error Akibat Ownership Salah
Jika ownership tidak benar, biasanya akan muncul error seperti berikut:
nginx: [emerg] open() "/opt/zextras/conf/nginx/includes/nginx.conf.main" failed (13: Permission denied)
Error ini menandakan Nginx tidak memiliki izin untuk membaca file konfigurasi tersebut.
2. Mengecek Kesalahan Sintaks (Syntax Error)
Selain masalah ownership, kesalahan sintaks pada file konfigurasi juga menjadi penyebab umum Nginx gagal start.
Satu karakter yang salah — seperti kurang ; atau } — sudah cukup untuk membuat Nginx tidak bisa berjalan.
Menjalankan Test Konfigurasi
Untuk mengecek apakah konfigurasi Nginx valid atau tidak, jalankan perintah berikut sebagai user zextras:
nginx -tc /opt/zextras/conf/nginx.conf
Perintah ini tidak akan menjalankan Nginx, tetapi hanya melakukan pengecekan konfigurasi.
Contoh Output Jika Ada Error Sintaks
Jika terdapat kesalahan, output yang muncul biasanya seperti berikut:
nginx: [emerg] unexpected end of file, expecting ";" or "}" in ...:37
nginx: configuration file /opt/zextras/conf/nginx.conf test failed
Informasi penting yang perlu diperhatikan:
- Nama file yang bermasalah
- Nomor baris (contoh: baris ke-37)
Silakan buka file tersebut dan perbaiki kesalahan sintaksnya, lalu jalankan kembali perintah test konfigurasi.
Penutup
Saat Nginx di Carbonio gagal start, jangan langsung panik.
Sebagian besar kasus bisa diselesaikan dengan dua langkah sederhana:
- Pastikan semua file konfigurasi dimiliki oleh
zextras:zextras - Pastikan tidak ada kesalahan sintaks pada file konfigurasi Nginx
Dengan pendekatan ini, proses troubleshooting akan jauh lebih cepat dan terstruktur.