Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.
Bu makale şunlar için geçerlidir: ❎ Temel/Standart ✅ Kurumsal
Bu makalede, Tanzu Web Sunucuları derleme paketini kullanarak statik dosyalarınızı bir Azure Spring Apps Kurumsal planı örneğine dağıtma adımları gösterilmektedir. Bu yaklaşım yalnızca HTML, CSS veya seçtiğiniz JavaScript çerçevesiyle oluşturulmuş ön uç uygulamaları gibi statik dosyaları tutmak için olan uygulamalarınız varsa kullanışlıdır. Bu varlıkları sunmak için bu uygulamaları otomatik olarak yapılandırılmış bir web sunucusuyla (HTTPD ve NGINX) doğrudan dağıtabilirsiniz.
Önkoşullar
- Önceden sağlanmış bir Azure Spring Apps Kurumsal plan örneği. Daha fazla bilgi için bkz . Hızlı Başlangıç: Kurumsal planı kullanarak uygulamaları derleme ve Azure Spring Apps'e dağıtma.
- Azure Spring Apps'te çalışan bir veya daha fazla uygulama.
- Azure CLI, sürüm 2.45.0 veya üzeri.
- Statik dosyalarınız veya dinamik ön uç uygulamanız ( örneğin, bir React uygulaması).
Statik dosyalarınızı dağıtın
Not
Bu makale, dağıtım yapılandırmalarını açıklamaya ve web statik dosya dağıtımına özgü sorun giderme işlemlerine odaklanır. Azure Springs Apps Kurumsal planının genel derleme ve dağıtım senaryolarını anlamak için, Tanzu Derleme Hizmetini Kullanma ve Çok teknolojili uygulamaları nasıl dağıtacağınızı öğrenmek için İsteğe bağlı derleme hizmeti bölümüne bakın.
Statik dosyaları NGINX veya HTTPD web sunucularını kullanarak Azure Spring Apps'e aşağıdaki yollarla dağıtabilirsiniz:
- Statik dosyaları doğrudan dağıtabilirsiniz. Azure Spring Apps, statik dosyaları sunmak için belirtilen web sunucusunu otomatik olarak yapılandırır.
- Ön uç uygulamanızı istediğiniz JavaScript çerçevesinde oluşturabilir ve ardından dinamik ön uç uygulamanızı kaynak koddan dağıtabilirsiniz. Azure Spring Apps, uygulamanızı statik içerik olarak oluşturur ve statik dosyaları sunmak için yapılandırılmış web sunucunuzu kullanır.
Web sunucusunu özelleştirmek için bir sunucu yapılandırma dosyası da oluşturabilirsiniz.
Dağıtım örnekleri
Bu bölümdeki Azure CLI örnekleri, iki kapsayıcı kayıt defteri senaryosu için statik dosyalar oluşturma ve dağıtmayı gösterir:
- Azure Spring Apps yönetilen kapsayıcı kayıt defteri.
- Kullanıcı tarafından yönetilen kapsayıcı kayıt defteri.
Statik dosyaları doğrudan derleme ve dağıtma
Bu örnek, statik dosyaları otomatik olarak oluşturulan varsayılan sunucu yapılandırma dosyasını kullanarak doğrudan dağıtır.
- Azure Spring Apps yönetilen kapsayıcı kayıt defteri
- Kullanıcı tarafından yönetilen kapsayıcı kayıt defteri
Aşağıdaki komut statik bir dosya dağıtır:
az spring app deploy
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--source-path <path-to-source-code> \
--build-env BP_WEB_SERVER=nginx
Ortam değişkenlerini kullanma hakkında bilgi için Otomatik olarak oluşturulan sunucu yapılandırma dosyası yapılandırma bölümüne bakın.
Ön uç uygulamanızı statik içerik olarak derleme ve dağıtma
Bu örnek, kaynak koddan dinamik bir ön uç uygulaması dağıtır.
- Azure Spring Apps yönetilen kapsayıcı kayıt defteri
- Kullanıcı tarafından yönetilen kapsayıcı kayıt defteri
Aşağıdaki komut bir uygulama dağıtır:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--source-path <path-to-source-code> \
--build-env BP_WEB_SERVER=nginx BP_NODE_RUN_SCRIPTS=build BP_WEB_SERVER_ROOT=build
Özelleştirilmiş bir yapılandırma dosyası kullanarak statik dosyalar oluşturma ve dağıtma
Bu örnek, özelleştirilmiş bir sunucu yapılandırma dosyası kullanarak statik dosyaları dağıtır.
- Azure Spring Apps yönetilen kapsayıcı kayıt defteri
- Kullanıcı tarafından yönetilen kapsayıcı kayıt defteri
Aşağıdaki komut bir uygulama dağıtır:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--source-path <path-to-source-code>
Daha fazla bilgi için bu makalenin Özelleştirilmiş sunucu yapılandırma dosyası kullanma bölümüne bakın.
Örnek kod
Not
Örnek kod Paketo açık kaynak topluluğu tarafından korunur.
Paketo derleme paketleri örnekleri, aşağıdaki kullanım örnekleri de dahil olmak üzere birkaç farklı uygulama türü için yaygın kullanım örneklerini gösterir:
- Varsayılan sunucu yapılandırma dosyasını kullanarak
BP_WEB_SERVERile HTTPD veya NGINX'i seçerek statik dosyalar sunma. - Node Paket Yöneticisi kullanarak bir web sunucusunun hizmet verebileceği statik dosyalara React uygulaması oluşturun. Aşağıdaki adımları kullanın:
- Üretim aşamasına hazır statik varlıklarınızı oluşturmak için package.json dosyasındaki
scriptsözelliğinin altında bir betik tanımlayın. React için isebuild. - Derleme betiği çalıştırıldıktan sonra statik varlıkların nerede depolandığını öğrenin. React için statik varlıklar varsayılan olarak içinde
./builddepolanır. - Derleme betiğinin adını
BP_NODE_RUN_SCRIPTSolarak ayarlayın. -
BP_WEB_SERVER_ROOTöğesini derleme çıktı dizinine ayarlayın.
- Üretim aşamasına hazır statik varlıklarınızı oluşturmak için package.json dosyasındaki
- HTTPD veya NGINX kullanarak statik dosyaları kendi sunucu yapılandırma dosyanızla sunma.
Otomatik olarak oluşturulan sunucu yapılandırma dosyasını yapılandırma
Otomatik olarak oluşturulan sunucu yapılandırma dosyasını değiştirmek için ortam değişkenlerini kullanabilirsiniz. Aşağıdaki tabloda desteklenen ortam değişkenleri gösterilmektedir.
| Ortam değişkeni | Desteklenen Değer | Açıklama |
|---|---|---|
BP_WEB_SERVER |
nginx veya httpd |
Web sunucusu türünü belirler, ya Nginx için nginx ya da Apache HTTP sunucusu için httpd. Otomatik olarak oluşturulan sunucu yapılandırma dosyası kullanılırken gereklidir. |
BP_WEB_SERVER_ROOT |
Mutlak bir dosya yolu veya /workspace ile ilgili bir dosya yolu. | Statik dosyalar için kök dizini ayarlar. Varsayılan değer: public. |
BP_WEB_SERVER_ENABLE_PUSH_STATE |
true veya false |
Uygulamanız için push state yönlendirmeyi etkinleştirir. İstenen rotadan bağımsız olarak, index.html her zaman sunulur. Tek sayfalı web uygulamaları için kullanışlıdır. |
BP_WEB_SERVER_FORCE_HTTPS |
true veya false |
Tüm istekleri HTTPS protokolünü kullanacak şekilde yeniden yönlendirerek sunucu bağlantıları için HTTPS uygular. |
Aşağıdaki ortam değişkenleri desteklenmez.
BP_LIVE_RELOAD_ENABLEDBP_NGINX_VERSIONBP_HTTPD_VERSION
Özelleştirilmiş sunucu yapılandırma dosyası kullanma
Özelleştirilmiş bir sunucu yapılandırma dosyası kullanarak web sunucusunu yapılandırabilirsiniz. Aşağıdaki tabloda yapılandırma dosyası yolu gösterilmektedir:
| Web sunucusu | Varsayılan yapılandırma dosyası yolu | Sunucu yapılandırma dosya yolunu özelleştirme |
|---|---|---|
nginx |
kaynak kodunuzun kök yolu altında nginx.conf . | Yapılandırma dosyası adını belirtmek için ortam değişkenini BP_NGINX_CONF_LOCATION kullanın. Dosyayı kaynak kodunuzun kök yolunun altına yerleştirin. |
httpd |
kaynak kodunuzun kök yolu altında httpd.conf . | Desteklenmiyor. |
Yapılandırma dosyanız aşağıdaki tabloda açıklanan kısıtlamalara uygun olmalıdır.
| Yapılandırma | Açıklama | Nginx Yapılandırması | Httpd Yapılandırması |
|---|---|---|---|
| Dinleme bağlantı noktası | Web sunucusunun 8080 numaralı bağlantı noktasını dinlemesi gerekir. Hizmet, TCP üzerindeki bağlantı noktasının hazır ve aktif olup olmadığını denetler. Yapılandırma dosyasında şablonlu değişkeni PORT kullanmanız gerekir. Web sunucusu başlatıldığında uygun bağlantı noktası numarası eklenir. |
listen {{PORT}} |
Listen "${PORT}" |
| Kayıt yolu | Yapılandırma günlüğü yolunu konsola ayarla. |
access_log /dev/stdout, error_log stderr |
ErrorLog /proc/self/fd/2 |
| Yazma iznine sahip dosya yolu | Web sunucusuna /tmp dizinine yazma izni verilir. Tam yolu yapılandırmak için /tmp dizini altında yazma izni gerekir. | Örneğin: client_body_temp_path/tmp/client_body_temp | |
| İstemci isteği için kabul edilen maksimum gövde boyutu | Web sunucusu ağ geçidinin arkasındadır. İstemci isteğinin kabul edilen gövde boyutu üst sınırı ağ geçidinde 500 m olarak ayarlanır ve web sunucusunun değeri 500 m'den az olmalıdır. |
client_max_body_size 500 m'den az olmalıdır. |
LimitRequestBody 500 m'den az olmalıdır. |
Derleme paketi bağlamaları
Statik dosyaların Azure Spring Apps Enterprise planına dağıtılması Dynatrace derleme paketi bağlamasını destekler.
htpasswd Derleme paketi bağlaması desteklenmez.
Daha fazla bilgi için APM tümleştirmesi ve CA sertifikalarını yapılandırma bölümüne bakın.
Yaygın derleme ve dağıtım hataları
Azure Spring Apps Enterprise örneğine statik dosya dağıtımınız aşağıdaki yaygın derleme hatalarını oluşturabilir:
ERROR: No buildpack groups passed detection.ERROR: Please check that you're running against the correct path.ERROR: failed to detect: no buildpacks participating
Bu hataların kök nedeni, web sunucusu türünün belirtilmemiş olmasıdır. Bu hataları çözmek için ortam değişkenini BP_WEB_SERVER veya nginxolarak httpd ayarlayın.
Aşağıdaki tabloda, Azure Spring Apps Enterprise'a statik dosyalar dağıttığınızda sık karşılaşılan dağıtım hataları açıklanmaktadır.
| Hata İletisi | Kök neden | Çözüm |
|---|---|---|
112404: Exit code 0: purposely stopped, please refer to https://aka.ms/exitcode |
Web sunucusu başlatılamadı. | Yapılandırma hatası olup olmadığını görmek için sunucu yapılandırma dosyanızı doğrulayın. Ardından, yapılandırma dosyanızın Özelleştirilmiş sunucu yapılandırma dosyası kullanma bölümünde açıklanan kısıtlamalara uygun olup olmadığını denetleyin. |
mkdir() "/var/client_body_temp" failed (13: Permission denied) |
Web sunucusunun belirtilen yolda yazma izni yok. | /tmp dizininin altındaki yolu yapılandırın; örneğin: /tmp/client_body_temp. |