Tüm Ürünler
Search
Belge Merkezi

Serverless App Engine:SAE gereksinimleriyle uyumlu kod paketleri oluşturma

Son Güncelleme:Oct 06, 2026

SAE, dağıtımdan önce kod paketlerinin belirli bir dizin yapısına uygun olmasını gerektirir. Bu konuda Java, PHP, Python ve .NET Core uygulamaları için uyumlu paketlerin nasıl oluşturulacağı açıklanmaktadır.

Çalışma zamanı Paket biçimi Temel gereksinim
Java JAR veya WAR Özel yapı gerekmez
PHP ZIP nginx/ ve php/ dizinleri ZIP dosyasının kökünde bulunmalıdır
Python ZIP Dosyalar ZIP dosyasının kökünde yer almalıdır; dışta bir dizin olmamalıdır
.NET Core ZIP start.sh ve derleme çıktısı ZIP dosyasının kökünde bulunmalıdır

Java

SAE için JAR veya WAR paketleri oluşturmak standart Java paketleme işlemiyle aynıdır; özel bir adım gerekmez.

Dağıtım yapmak için WAR veya JAR paketlerini kullanarak Java uygulamalarını dağıtma konusuna bakın.

PHP

Paketleme gereksinimleri

ZIP paketinizin aşağıdaki gereksinimleri karşılaması gerekir:

  • nginx/ ve php/ dizinleri ZIP dosyasının kökünde yer almalıdır; bunlar üst bir klasörün içinde iç içe geçmiş olmamalıdır. Dizinler iç içe geçerse SAE yapılandırma dosyalarını veya giriş noktasını bulamaz ve dağıtım başarısız olur.

  • php/ içindeki kod dosyalarını kendi uygulama kodunuzla değiştirin.

  • nginx/ içindeki yapılandırma dosyalarını gerektiği gibi değiştirin.

Adım 1: Örnek paketi indirip ayıklayın

hello-sae-php.zip dosyasını indirin ve ayıklayın. Dizin yapısı şu şekildedir:

.
├── nginx
│   ├── default.conf
│   ├── fastcgi_params
│   └── root.dir
└── php                  # Program directory
    ├── index.php        # Entry point
    └── phpinfo.php

Adım 2: Kodunuzu değiştirin ve yapılandırmayı güncelleyin

php/ içindeki dosyaları kendi uygulama kodunuzla değiştirin.

Uygulamanız varsayılan olmayan ayarlar kullanıyorsa nginx yapılandırmasını güncelleyin:

Yapılandırma öğesi Varsayılan değer Nasıl değiştirilir
Bağlantı noktası 80 default.conf dosyasında, server{ } bloğunun ilk satırına listen <port>; (örneğin listen 8080;) ekleyin.
Giriş noktası dosya adı index.php default.conf dosyasında index index.php index.html index.htm; ifadesini index <your-entry-filename>; olarak ve fastcgi_index index.php; ifadesini fastcgi_index <your-entry-filename>; olarak güncelleyin.
Program dizini adı php root.dir dosyasında root /home/admin/app/php; ifadesini root /home/admin/app/<your-directory-name>; olarak güncelleyin.

Adım 3: ZIP dosyası olarak paketleyin

Geçerli dizinin içeriğini — dizinin kendisini değil — ZIP dosyası olarak paketleyin:

zip -r my-php-app.zip nginx php
Önemli

Üst klasör eklemeyin. nginx ve php dizinleri ZIP dosyasının kökünde görünmelidir.

Adım 4: Dağıtın

ZIP paketlerini kullanarak PHP uygulamalarını dağıtma.

Python

Paketleme gereksinimleri

ZIP paketinizin aşağıdaki gereksinimleri karşılaması gerekir:

  • Proje kökünün içindeki dosya ve klasörleri paketleyin; proje kökü dizinini doğrudan paketlemeyin. Dıştaki dizini dahil ederseniz SAE uygulama dosyalarınızı bulamaz ve dağıtım başarısız olur.

  • Uygulamanızda bir requirements.txt dosyası varsa bunu ZIP dosyasının köküne yerleştirin. SAE, dağıtım sırasında yazılım bağımlılıklarını otomatik olarak yükler.

Adım 1: Örnek paketi indirip ayıklayın

hello-sae-python.zip dosyasını indirin. Örnek uygulama Flask, Gunicorn ve requirements.txt dosyasında listelenen diğer paketlere bağımlıdır. Dizin yapısı şu şekildedir:

.
├── app
│   └── hello.py
└── requirements.txt     (optional; must be in the root directory)

Adım 2: Örneği kendi uygulamanızla değiştirin

Örnek kodu kendi kodunuzla değiştirmek için aşağıdaki komutları çalıştırın:

# Download and extract the sample
wget https://sae-demo-cn-shenzhen.oss-cn-shenzhen.aliyuncs.com/demo/1.0/hello-sae-python.zip
unzip hello-sae-python.zip -d hello-sae-python && rm -rf hello-sae-python.zip && cd hello-sae-python

# Replace the sample code with your Python project
# Replace /path/to/your-python-project/ with your actual project path
rm -rf app/* requirements.txt
cp -r /path/to/your-python-project/. app/
cp -r /path/to/your-python-project/requirements.txt ./

# Package into a ZIP file
zip -r my-python-app.zip app requirements.txt

Adım 3: Dağıtın

ZIP paketlerini kullanarak Python uygulamalarını dağıtma.

.NET Core

Paketleme gereksinimleri

ZIP paketinizin aşağıdaki gereksinimleri karşılaması gerekir:

  • Derleme çıktı dizininin içindeki dosya ve klasörleri paketleyin; dizinin kendisini doğrudan paketlemeyin. Dıştaki dizini dahil ederseniz SAE uygulama dosyalarını veya başlatma betiğini bulamaz ve dağıtım başarısız olur.

  • Uygulamanın bir başlatma betiği (örneğin start.sh) varsa bunu ZIP dosyasının köküne yerleştirin. SAE, dağıtım sırasında bu betiği otomatik olarak çalıştırır.

ZIP dosyası yapısı SAE örneğinde aşağıdaki şekilde eşlenir:

ZIP yolu SAE örnek yolu Açıklama
./start.sh /home/admin/start.sh Uygulama başlatma betiği
./your-dotnet-project /home/admin/app/nginx/*.conf .NET uygulama dosyaları

Adım 1: .NET SDK'yı kurun

.NET SDK'yı indirin ve yükleyin. SAE tarafından desteklenen bir .NET Core sürümü seçin, ardından kurulumu doğrulayın:

dotnet --version

Komut bir hata döndürürse hata çıktısında listelenen bağımlılık paketlerini yükleyin.

Adım 2: Projeyi derleyin

Bağımlılıkları geri yüklemek ve kaynak kodu derlemek için proje dizininizden aşağıdaki komutları çalıştırın:

# Navigate to your project directory
# Replace /path/to/your-dotnet-project/ with your actual project path
cd /path/to/your-dotnet-project/

# Restore project dependencies
dotnet restore

# Compile the source code
# -c Release: optimizes for production — improves runtime performance and strips debugging information
# -o demo: outputs the build artifacts to the demo/ directory
dotnet build -c Release -o demo

Adım 3: Bir başlatma betiği yazın

Derleme çıktı dizininde bir start.sh dosyası oluşturun ve dosyayı çalıştırılabilir hale getirin:

chmod +x ./start.sh

Adım 4: Dizin yapısını gözden geçirin

Paketlemeden önce derleme çıktısının aşağıdakine benzer olduğunu doğrulayın:

.
├── appsettings.Development.json
├── appsettings.json
├── appsettings.Production.json
├── your-dotnet-project
...
└── start.sh

Adım 5: ZIP dosyası olarak paketleyin

Geçerli dizindeki tüm dosyaları paketleyin:

# demo.zip: the name of the ZIP file to create
# *: packages all files and folders in the current directory
zip -r demo.zip *

Adım 6: Dağıtın

ZIP paketlerini kullanarak .NET Core uygulamalarını dağıtma.