PHP uygulamanızı Serverless App Engine (SAE) gereksinimlerini karşılayan bir ZIP dosyası olarak paketleyin ve ardından bu paketi SAE'de bir uygulama olarak dağıtın.
Ön koşullar
PHP kod paketi — Uygulamanızı, PHP kod paketi teknik özellikleri ile uyumlu bir ZIP dosyası olarak paketleyin.
PHP ortamı — Kodunuzla uyumlu olan PHP ortamını belirleyin.
Ağ kaynakları — (İsteğe bağlı) Uygulamayı mevcut bir ad alanına dağıtmak için önceden ad alanı, vSwitch ve güvenlik grubu oluşturun.
Uygulama sürümleri
Lightweight Edition ve Professional Edition şu anda yalnızca davetle katılılan beta aşamasındadır. Beta testine katılmayan kullanıcılar için uygulamalar varsayılan olarak Standard Edition olarak oluşturulur.
Aşağıdaki tabloda her sürümün içerdiği özellikler açıklanmaktadır.
| Edition | Included features |
| Lightweight Edition | Bir uygulamanın çalışması için gereken minimum özellik kümesini sağlar. Application Monitoring ve Microservices Governance özelliklerini desteklemez. |
| Standard Edition | Basic Application Monitoring özelliğini içerir. Advanced Application Monitoring ve Microservices Governance özelliklerinin ayrı olarak etkinleştirilmesi ve satın alınması gerekir. |
| Professional Edition | Ayrı olarak etkinleştirilmesine veya satın alınmasına gerek olmayan Advanced Application Monitoring ve Microservices Governance özelliklerini içerir. |
Microservices Governance, Java uygulamaları için özellikler sunar. Sürümler yalnızca yukarıdaki tabloda listelenen özellikler açısından farklılık gösterdiğinden, bir PHP uygulaması için sürüm seçerken değerlendirilmesi gereken temel yetenek uygulama izlemesidir. Her sürümün sağladığı izleme verileri ve yönetim özellikleri için bu konunun "Gelişmiş ayarlar" bölümüne bakın.
Uygulamayı oluşturun
SAE Application List sayfasında üst gezinme çubuğundan hedef bölgeyi ve ad alanını seçin, ardından Create Application seçeneğine tıklayın.
Bir uygulama sürümü seçin. Sürümlerin karşılaştırması için bu konunun "Uygulama sürümleri" bölümüne bakın.
Create Application sayfasında özel bir Application Name girin.
-
Uygulama için ad alanı türünü seçin. Ad alanı, bir Kubernetes ad alanına eşdeğerdir ve farklı ortamlardaki kaynakları yalıtmak için kullanılabilir.
ÖnemliUygulama oluşturulduktan sonra ad alanını değiştiremezsiniz. Uygulamayı oluşturmadan önce hangi ad alanına ait olduğunu onaylayın.
System Created — Mevcut bölgede sistem tarafından oluşturulan varsayılan ad alanını, vSwitch'i ve güvenlik grubunu kullanın. Uygulamanın mevcut ağ kaynaklarını yeniden kullanması gerekmiyorsa bu seçeneği belirleyin.
Existing Namespace — Önceden oluşturduğunuz ad alanını, vSwitch'i ve güvenlik grubunu seçin. Uygulamanın hazırladığınız ağ kaynaklarında çalışması gerekiyorsa bu seçeneği belirleyin.
Application Deployment Method değerini Code Package-based Deployment olarak ayarlayın ve ardından sağ taraftaki Configure Code Package-based Deployment seçeneğine tıklayın.
Technology Stack Programming Language için PHP seçeneğini belirleyin ve ardından kodunuzla uyumlu PHP ortamını seçin.
Kod paketi parametrelerini yapılandırın ve OK seçeneğine tıklayın. Parametreler bu konunun "PHP ZIP paketi parametreleri" bölümünde açıklanmaktadır.
Capacity Settings bölümünde Resource Type, Single Instance Type ve Instances değerlerini ayarlayın.
(İsteğe bağlı) İstediğiniz özellikleri yapılandırmak için Next: Advanced Settings seçeneğine tıklayın. Kullanılabilir özellikler bu konunun "Gelişmiş ayarlar" bölümünde açıklanmaktadır.
Create Application with One Click veya Create Application seçeneğine tıklayın.
PHP ZIP paketi parametreleri
Aşağıdaki tabloda, bir PHP ZIP paketi için yapılandırdığınız parametreler açıklanmaktadır.
| Parameter | Description |
| Upload Method | Yerel bir kod paketi yükleyin veya kod paketinin URL'sini girin. |
| Version | Bir uygulama sürüm numarası girin veya Use Timestamp as Version Number seçeneğini belirleyin. |
| Time Zone Settings | Uygulamanın çalışacağı saat dilimini seçin. |
| Startup Command | Kodunuzu PHP kod paketi teknik özelliklerine göre paketlediyseniz başlangıç komutunu yapılandırmanız gerekmez. |
| Custom Runtime Environment Settings | (İsteğe bağlı) Etkinleştirildiğinde, uygulamanız için gerektiğinde araçları önceden yükleyebilir, dosyaları indirebilir veya değiştirebilir ve çalışma zamanı bağımlılıklarını veya uzantılarını yükleyebilirsiniz. |
| Custom php.ini [TODO: confirm UI term] | (İsteğe bağlı) Etkinleştirildiğinde php.ini yapılandırma dosyasının içeriğini girin. SAE uygulamayı bu yapılandırmayı kullanarak başlatır. |
Çalışma zamanı ortamını özelleştirin
Custom Runtime Environment Settings seçeneğini açarsanız aşağıdaki öğeleri yapılandırabilirsiniz:
PHP Extension.
PHP PECL Extension.
-
Komut satırını kullanarak çalışma zamanı ortamını özelleştirin. Aşağıdaki betik bir örnektir:
#!/bin/bash docker-php-ext-configure gd \ --with-gd \ --with-webp-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-xpm-dir \ --with-freetype-dir \ && docker-php-ext-install -j$(nproc) gd
php.ini yapılandırmasını özelleştirin
php.ini Mount Path alanında yapılandırma dosyasının bağlama yolunu ayarlayın, örneğin /usr/local/etc/php/php.ini.
Uygulama dağıtıldıktan sonra yapılandırma dosyasının bağlandığını doğrulamak için Webshell içinde aşağıdaki komutu çalıştırın:
php -i | grep ini
# Example output: Loaded Configuration File => /usr/local/etc/php/php.ini
Gelişmiş ayarlar
Advanced Settings bölümünde uygulama için aşağıdaki isteğe bağlı özellikleri yapılandırabilirsiniz.
Aşağıdaki özellikler ek ücretlere neden olan hizmetlere dayanır: MSE hizmet kayıt ve keşif merkezi, NLB, CLB, ağ geçidi rotaları, NAT Gateway, esnek IP adresleri (EIP'ler), NAS, OSS, veritabanları, Simple Log Service ve Kafka.
Çalışma zamanı ortamı ve yaşam döngüsü
Çalışma zamanı yapılandırması — Görüntüyü yeniden oluşturmadan, dağıtımdan sonra çalışma zamanı ortamındaki değişkenleri veya yapılandırma dosyalarını ortam değişkenlerini ayarlayarak, ana bilgisayar bağlamalarını ayarlayarak, yapılandırma bilgilerini enjekte ederek ve gizli bilgileri enjekte ederek değiştirebilirsiniz.
Sağlık denetimleri — Uygulama örneklerinin normal çalışıp çalışmadığını ve trafiği işlemeye hazır olup olmadığını izlemek için bir sağlık denetimi ayarlayabilirsiniz. Sağlıksız örnekler otomatik olarak yeniden başlatılır ve örnek hazır olana kadar trafik yönlendirilmez.
Yaşam döngüsü yönetimi — Bir uygulama başladıktan sonra ve durdurulmadan önce çalışan komutları özelleştirmek ve sorunsuz kapatma uygulamak için uygulama yaşam döngüsü yönetimini kullanabilirsiniz.
Ağ erişimi ve hizmet çağrısı
Hizmet çağrısı — Uygulamalar arasında hizmet çağrısını etkinleştirmek için hizmet kaydı ve keşfini kullanın.
Harici erişim — NLB bağlayarak, CLB bağlayarak veya ağ geçidi rotası yapılandırarak bir uygulamaya harici erişimi etkinleştirin.
Giden erişim — NAT Gateway yapılandırarak veya bir EIP'yi bir uygulama örneğine bağlayarak uygulamanın harici kaynaklara veya hizmetlere erişmesine izin verin.
Veri kalıcılığı
Bir uygulama değiştirildiğinde veya durdurulduğunda veri kaybını önlemek için uygulama verilerini NAS, OSS veya bir veritabanında depolayın.
Günlük kaydı ve izleme
Günlükler ve ölçümler — Bir uygulama dağıttıktan sonra ek yapılandırma olmadan gerçek zamanlı günlükleri görüntüleyebilir ve kaynak kullanımını ve yükünü görüntüleyebilirsiniz. Ayrıca günlükleri merkezi yönetim ve analiz için Simple Log Service veya Kafka çıktısı olarak gönderebilirsiniz.
-
Uygulama izleme — ARMS, uygulama sağlığını izlemenize, başarısız ve yavaş API'leri hızla bulmanıza, performans darboğazlarını belirlemenize ve çağrı parametrelerini yeniden üretmenize yardımcı olur; bu da üretim sorun giderme verimliliğini artırır.
Standard Edition uygulamalar için, dağıtımdan sonra ek yapılandırma olmadan ARMS Basic Edition izleme verilerini görüntüleyebilirsiniz. Ayrıca ARMS Premium Edition izlemeyi etkinleştirip satın alabilirsiniz.
Professional Edition uygulamalar için, Advanced Settings içinde Application Monitoring özelliğini etkinleştirip uygulamayı dağıttıktan sonra ARMS Premium Edition izleme verilerini görüntüleyebilirsiniz. Ek ücret gerekmez.
Diğer özellikler
-
Microservices Governance — Microservices Governance, Java uygulamaları için Graceful Start and Shutdown, trafik koruması, uçtan uca kanarya sürümü ve Intra-zone Provider First özelliklerini sağlar. Bu özelliği bir PHP uygulaması için etkinleştirmeden önce kapsamı dikkate alın.
Standard Edition uygulamalar için, dağıtımdan sonra uygulamanın detaylar sayfasına giderek MSE Microservices Governance özelliğini etkinleştirin ve satın alın.
Professional Edition uygulamalar için, Advanced Settings içinde Microservices Governance özelliğini etkinleştirdikten sonra Graceful Start and Shutdown özelliğini yapılandırabilirsiniz. Daha fazla özellik için dağıtımdan sonra uygulamanın detaylar sayfasına gidin. Ek ücret gerekmez.
CPU Burst — Başlangıçta CPU gereksinimleri normal çalışmaya göre daha yüksek olduğunda kaynak israfını önlemek için CPU Burst özelliğini etkinleştirebilirsiniz.
Sidecar konteynerler — sidecar konteyner ekleyerek iş dışı özellikleri ana konteynerden ayırabilir ve standart hale getirebilirsiniz.
Dağıtımı doğrulayın
Uygulamayı oluşturmak yaklaşık 1 ila 2 dakika sürer. Sonucu aşağıdaki şekilde doğrulayın:
Uygulama Application List sayfasında görünür.
Dağıtımın başarılı olduğunu doğrulamak için değişiklik kayıtlarını görüntüleyebilirsiniz.
Başarısız dağıtımı yönetin
Dağıtım başarısız olursa hiçbir uygulama örneği oluşturulmaz. Sorunu Change Details içindeki hata iletisine göre giderin.
Sonraki adımlar
Uygulama yapılandırmasını değiştirin — Application List sayfasında hedef uygulamaya tıklayarak detaylar sayfasına gidin. Ardından üst kısımdaki Deploy Application veya Modify Application Configurations seçeneğine tıklayın. Uygulama yeni yapılandırmayı uygulamak için otomatik olarak yeniden başlatılır, bu nedenle bu işlemi yoğun olmayan saatlerde gerçekleştirin.
Bir örnekte oturum açın — Webshell kullanarak bir uygulama örneğinde oturum açabilir ve konsol komutlarını kullanarak örnek ile etkileşim kurabilirsiniz.
Uygulamayı ölçeklendirin ve maliyetleri düşürün — örnek sayısını manuel olarak ayarlayabilir ve örnek teknik özelliklerini değiştirebilir veya otomatik ölçeklendirme ilkesi yapılandırarak örnek sayısını otomatik olarak ayarlayabilirsiniz. Ayrıca boşta modunu etkinleştirerek maliyetleri düşürebilirsiniz.