Nginx için http RestAPI üzerinden otomatik konfigürasyon oluşturan servistir.
Desteklenen Dağıtım Centon 6.6 ve üzeri (x64)
daemonize
yum install -y http://puias.math.ias.edu/data/puias/unsupported/6/x86_64/daemonize-1.7.5-6.sdl6.x86_64.rpm
Dizin yapısı
/etc/rc.d/init.d/mstrcdn
init dosyasıdır. Servisi sisteme register eder.
/bin/mstrcdn
Ana dosyadır. Servisin core dosyasıdır.
/etc/maestropanel/agent/config/mstrcdn.conf
Servisin çalışacak değişkenlerinin tutulduğu konfigürasyon dosyasıdır. Standart ini formatındadır.
/etc/maestropanel/nginx/tmpl
Nginx konfigürasyon templatelerinin tutulduğu klasödür. Servis 3 isimde template dosyası tanımaktadır. (full.cdn.tmpl, split.cdn.tmpl, ssl.cdn.tmpl)
Servisin çalışması için gerekli olan konfidürasyon dosyasına aşağıdaki dizinden ulaşabilirsiniz.
/etc/maestropanel/agent/config/mstrcdn.conf
mstrcdn.conf
[api]
Port=9722
SecretKey=qK624M3ZrpfCrlia5jQn
ConfigRoot="/usr/local/nginx/conf/sites"
TemplatePath="/etc/maestropanel/nginx/tmpl"
Port
Servisin hangi portu dinlyeceğini belirler.
SecretKey
Servise ulaşılırken Authentication header'ında kullanılacak gizli anahtarı belirler.
ConfigRoot
Nginx için oluşturulacak konfigürasyon dosyalarının yolunu belirler.
TemplatePath
Nginx için önceden belirlenmeiş şablon konfigürasyon dosyalarının yolunu belirler.
Servisin deamon'una /etc/rc.d/init.d/mstrcdn ile ulaşılabilir.
Servisi başlatmak için
service mstrcdn start
Durdurmak için
service mstrcdn stop
Restart için
service mstrcdn restart
Servis HTTP üzerinden Rest olarak çalışmaktadır ve geri dönüş modeli JSON'dur
Geri dönüş modeli;
{ "success": true, "message": "İşlem ile ilgili mesaj" }
Yeni Nginx konfigürasyonu oluşturur. İşlem başarılı gerçekleştirdikten sonra "service nginx reload" komutunu çalıştırır.
Parametreler
- name: domain name
- ipaddr: vhosts'un çalışacağı IP adresi
- port: vhost'un portu (default 80)
- ssl: Vhost'u SSL özelliği içeren template'i ile açar.
- full: Vhost'u Split olmayan template ile açar.
İstek
curl --header "Authorization: qK624M3ZrpfCrlia5jQn" -X POST -d "name=domain.com&ipaddr=192.168.5.5&port=80&ssl=false&full=true" http://192.168.5.5:9722/Cdn/Create
Cevap
{"success":true,"message":"Domain Create Success: domain.com"}
Mevcut bir domain'in konfigürasyonu siler. İşlem başarılı gerçekleştirdikten sonra "service nginx reload" komutunu çalıştırır.
Parametreler
- name: domain name
İstek
curl --header "Authorization: qK624M3ZrpfCrlia5jQn" -X DELETE http://192.168.5.5:9722/Cdn/Delete?name=domain.com
Cevap
{"success":true,"message":"Domain deleted: domain.com"}
Mevcut domainlerin listerini verir.
İstek
curl --header "Authorization: qK624M3ZrpfCrlia5jQn" http://192.168.5.5:9722/Cdn/List
Cevap:
{
"success": true,
"message": "List success",
"vhosts": [
"/usr/local/nginx/conf/sites",
"/usr/local/nginx/conf/sites/cdn.domain.com.tr.conf",
"/usr/local/nginx/conf/sites/cdn.demo.com.tr.conf",
"/usr/local/nginx/conf/sites/ssl.cdn.hoppa.com.tr.conf"
]
}