Konfigurasi Nginx tanpa Restart Nginx
Biasa nih lagi iseng-iseng, nyari gimana caranya restart nginx tapi tidak perlu restart nginx. Atau lebih simplenya biar tidak down saat ingin menjalakan hasil konfigurasi nginx baru kita. Akhirnya nemu caranya dan sekalian mbuat skrip bash untuk mempermudah. Isinya seperti ini:
#!/bin/bash
echo "Configure Nginx without restart"
#test configuration nginx
test=$( /usr/local/nginx-9.3/sbin/nginx -t )
command=$( ps x | grep nginx | grep master )
echo -n "Apakah anda yakin ingin merestart nginx? (y/t)";read answer
if [[ $answer = "Y" || $answer = "y" ]];then
#kill nginx and restart
kill -HUP ${command:0:5}
if (( $? != 1 ));then
echo "Nginx berhasil direstart"
else
echo "Nginx tidak berhasil direstart"
fi
elif [[ $answer = "T" || $answer = "t" ]];then
echo "Keluar"
sleep 1
exit
fi
Simpan dengan nama restartnginx.sh. Kemudian jalankan:
chmod +x restartnginx.sh
Skrip siap dijalankan.
Keterangan dari bagian skrip di atas yang penting adalah sebagai berikut:
1. ps x | grep nginx | grep master
Mencari proses nginx yang merupakan proses master. Bukan proses child nya.
2. ${command:0:5}
mengambil pid dari proses master nginx tersebut.
3. kill -HUP ${command:0:5}
Reload konfigurasi nginx. Kemudian memulai worker process baru dengan konfigurasi yang baru. Secara pelan-pelan, mematikan worker proces lama.
Mungkin cukup sekian dari saya. Moga-moga bisa membantu teman-teman ^^
Related posts:
Tags: konfigurasi, nginx, restart, tanpa
[...] fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $document_root; }Restart nginx nya terlebih dahulu. Kemudian akan bisa diakses dengan menjalankan [...]