Di Linux, Supervisor adalah sistem klien / server yang memungkinkan pengguna untuk mengontrol berbagai proses melalui sistem operasi seperti UNIX. Berikut adalah manfaat utama Supervisor:
- Kenyamanan: Menulis rc.d untuk semua instance proses tunggal tidak nyaman. Skrip Rc.d, demikian pula, tidak memulai ulang proses yang macet secara otomatis. Namun, Supervisor dapat dikonfigurasi untuk memulai ulang proses secara otomatis saat mereka mogok.
- Akurasi: Di UNIX, seringkali sulit untuk mendapatkan status up/down yang akurat pada proses. Supervisor memulai proses sebagai sub-proses, sehingga ia mengetahui status naik/turun anak-anaknya. Ini mudah untuk meminta pengguna akhir.
Dalam tutorial ini, kita akan mempelajari cara menginstal Supervisor dan mengkonfigurasinya untuk mengelola proses Nginx di Ubuntu 20.04.
Prasyarat
- VPS Ubuntu 20.04 yang baru di Platform Cloud Atlantic.Net.
- Kata sandi root dikonfigurasi di server Anda.
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 20.04 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Ubuntu 20.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
apt-get update -y
Langkah 2 – Instal Pengawas
apt-get install supervisor -y
Setelah menginstal Supervisor, Anda dapat memverifikasi versi Supervisor yang diinstal dengan perintah berikut:
supervisord -v
Anda akan mendapatkan output berikut:
4.1.0
Selanjutnya, verifikasi status layanan Supervisor dengan perintah berikut:
systemctl status supervisor
Anda akan mendapatkan output berikut:
supervisor.service - Supervisor process control system for UNIX
Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-01 13:31:42 UTC; 9s ago Docs: http://supervisord.org Main PID: 14419 (supervisord) Tasks: 1 (limit: 2353) Memory: 14.2M CGroup: /system.slice/supervisor.service └─14419 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
Langkah 3 – Aktifkan Antarmuka Web Supervisor
Supervisor menyediakan antarmuka berbasis web untuk mengelola semua proses, tetapi dinonaktifkan secara default. Anda dapat mengaktifkannya dengan mengedit file /etc/supervisor/supervisord.conf.
nano /etc/supervisor/supervisord.conf
Tambahkan baris berikut:
[inet_http_server] port=*:9001 username=admin password=admin
Simpan dan tutup file, lalu mulai ulang layanan Supervisor untuk menerapkan perubahan:
systemctl restart supervisor
Langkah 4 – Kelola Proses Nginx dengan Supervisor
Di bagian ini, kita akan mempelajari cara mengontrol proses Nginx dengan Supervisor.
Pertama, instal server Nginx dengan perintah berikut:
apt-get install nginx -y
Setelah menginstal Nginx, Anda harus menghentikan dan menonaktifkan layanan Nginx karena kami akan menggunakan Supervisor untuk mengelola proses Nginx.
Anda dapat menghentikan dan menonaktifkan layanan Nginx dengan perintah berikut:
systemctl stop nginx systemctl disable nginx
Selanjutnya, Anda perlu membuat file konfigurasi mandiri untuk setiap layanan yang ingin Anda kelola. Anda dapat membuat file konfigurasi Nginx dengan perintah berikut:
nano /etc/supervisor/conf.d/nginx.conf
Tambahkan baris berikut:
[program:nginx] command=/usr/sbin/nginx -g "daemon off;" autostart=true autorestart=true startretries=5 numprocs=1 startsecs=0 process_name=%(program_name)s_%(process_num)02d stderr_logfile=/var/log/supervisor/%(program_name)s_stderr.log stderr_logfile_maxbytes=10MB stdout_logfile=/var/log/supervisor/%(program_name)s_stdout.log stdout_logfile_maxbytes=10MB
Simpan dan tutup file setelah Anda selesai. Selanjutnya, beri tahu Supervisor untuk mengetahui tentang konfigurasi baru:
supervisorctl reread
Anda akan mendapatkan output berikut:
nginx: available
Selanjutnya, beri tahu Supervisor untuk memulai layanan Nginx:
supervisorctl update
Anda akan mendapatkan output berikut:
nginx: added process group
Selanjutnya, verifikasi apakah Supervisor memulai layanan Nginx dengan perintah berikut:
supervisorctl
Anda akan mendapatkan output berikut:
nginx:nginx_00 BERJALAN pid 15717, waktu aktif 0:00:13
Jika Anda ingin menghentikan layanan Nginx, jalankan perintah berikut:
stop nginx:nginx_00
Keluaran:
nginx:nginx_00: stopped
Untuk memulai kembali layanan Nginx, jalankan perintah berikut:
start nginx:nginx_00
Keluaran:
nginx:nginx_00: started
Sekarang, keluar dari shell Supervisor dengan perintah berikut:
exit
Anda juga dapat memverifikasi proses Nginx dengan perintah berikut:
ps aux | grep nginx
Anda akan mendapatkan output berikut:
root 15721 0.0 0.4 57176 10064 ? S 14:14 0:00 nginx: master process /usr/sbin/nginx - g daemon off; www-data 15722 0.0 0.2 57828 5340 ? S 14:14 0:00 nginx: worker process www-data 15723 0.0 0.2 57828 5340 ? S 14:14 0:00 nginx: worker process
Langkah 5 – Akses Antarmuka Web Supervisor
Anda sekarang dapat mengakses antarmuka web Supervisor menggunakan URL http://your-server-ip:9001 . Anda akan diminta untuk memberikan nama pengguna dan kata sandi seperti yang ditunjukkan di bawah ini:
Berikan username dan password admin yang telah Anda tentukan di konfigurasi, file kemudian klik tombol Sign-in tombol. Anda akan melihat antarmuka web Supervisor di halaman berikut:
Kesimpulan
Dalam panduan ini, Anda mempelajari cara menginstal Supervisor dan mengaktifkan antarmuka web di Ubuntu 20.04. Anda juga belajar bagaimana mengontrol proses Nginx dengan Supervisor. Coba kendalikan proses di akun hosting VPS Linux Anda dengan Atlantic.Net!