Tüm Ürünler
Search
Belge Merkezi

Serverless App Engine:Deploy an application using a code package

Son Güncelleme:Oct 06, 2026

Bir kod paketi kullanarak uygulama dağıtırken Serverless App Engine (SAE), aşağıdaki teknoloji yığınlarını ve çalışma zamanı ortamlarını destekler. Dağıtımdan önce, SAE gereksinimlerini karşılayan bir kod paketi oluşturmanız gerekir. Teknoloji yığını diliniz ve çalışma zamanı ortamınız aşağıda listelenmemişse, görüntü kullanarak uygulama dağıtmanız gerekir.

Java

Çalışma zamanı ortamı

Güncelleme tarihi

JDK sürümü

İşletim sistemi sürümü

Açık kaynak

Bakımı yapılıyor

Açıklama

Dragonwell 21

2024-07-18

21.0.3.0.3+9

CentOS Linux release 7.9.2009

Evet

Evet

Açık kaynak Dragonwell 21

Dragonwell 17

2022-07-11

17.0.3.0.3+7

CentOS Linux release 7.9.2009

Evet

Evet

Açık kaynak Dragonwell 17

Dragonwell 11

2021-08-27

11.0.10.10-AJDK

CentOS Linux release 7.9.2009

Hayır

Evet

  • Dragonwell ve OpenJDK güncellendi.

  • İşletim sistemi güncellendi.

  • Çince ve İngilizce yazı tipleri için destek eklendi.

  • Başlatma hızı önemli ölçüde optimize edildi.

2020-09-27

Açık kaynak Dragonwell 11

Dragonwell 8

2021-10-18

1.8.0_302

CentOS Linux release 7.9.2009

Evet

Evet

Yüksek CPU kullanımına neden olan ara sıra ortaya çıkan sorun giderildi.

2021-08-27

  • Dragonwell ve OpenJDK güncellendi.

  • İşletim sistemi güncellendi.

  • Çince ve İngilizce yazı tipleri için destek eklendi.

  • Başlatma hızı önemli ölçüde optimize edildi.

2020-09-27

Wisp coroutine gibi özellikler ve NIO istemcisi Netty ile uyumluluğun kendi kendini denetleme özelliği etkinleştirildi. Daha fazla bilgi için bkz. Açık kaynak Dragonwell 8.

OpenJDK 8

2019-06-19

1.8.0_191

CentOS Linux release 7.6.1810

Evet

Hayır

Yok

OpenJDK 7

2019-02-25

1.7.0_201

CentOS Linux release 7.6.1810

Evet

Hayır

Yok

openjdk-8u191-jdk-alpine3.9

2019-02-25

1.8.0_191

alpine 3.9.2

Evet

Hayır

Alpine görüntüsündeki bazı komutlar CentOS'takilerden farklıdır. Örneğin:

  • telnet: Alpine görüntüsündeki telnet komutu -e parametresini desteklemez.

  • curl

  • wget

openjdk-7u201-jdk-alpine3.9

2019-02-25

1.7.0_201

alpine 3.9.2

Evet

Hayır

Alpine görüntüsündeki bazı komutlar CentOS'takilerden farklıdır. Örneğin:

  • telnet: Alpine görüntüsündeki telnet komutu -e parametresini desteklemez.

  • curl

  • wget

PHP

Çalışma zamanı tanıtımı

Çevrimiçi uygulamalar: NGINX ile PHP-FPM

SAE, PHP web uygulamaları için Linux+NGINX+MySQL+PHP (LNMP) çalışma zamanı ortamı sağlar. Bu ortam şunları içerir:

  • PHP FastCGI Process Manager (FPM) varsayılan temel görüntüsü.

  • NGINX.

  • Yaygın PHP uzantıları.

Uygulamanız daha fazla kaynağa ihtiyaç duyuyorsa aşağıdaki Alibaba Cloud hizmetlerini kullanabilirsiniz:

Uygulama izleme: ARMS

PHP sürümleri 5,4 ile 7,3 arasında olan SAE uygulamaları için, ApsaraDB RDS MySQL ve Tair (Redis OSS uyumlu) gibi kaynaklara erişim gecikmesi ve uygulama çağrı zinciri izleme gibi daha ayrıntılı izleme bilgilerini elde etmek amacıyla uygulama izlemeyi etkinleştirebilirsiniz.Daha fazla bilgi için bkz. ARMS uygulama izlemeye genel bakış.

PHP çalışma zamanı açıklaması

Yazılım sürümleri

Aşağıdaki tabloda kullanılabilir PHP çalışma zamanı ortamları açıklanmaktadır. Daha yüksek bir PHP ortam sürümüne ihtiyacınız varsa ürün teknik uzmanlarına danışmak için DingTalk grubuna (Grup numarası: 32874633) katılın.

Çalışma zamanı ortamı

Güncelleme tarihi

PHP sürümü

NGINX sürümü

İşletim sistemi sürümü

Açıklama

PHP-FPM 7.3

2021-12-27

7.3.32

1.18.0

Debian 11.0

  • Önceden ayarlanmış yazı tiplerini destekler.

  • Varsayılan PHP uzantılarını destekler.

  • PECL PHP uzantı deposunu destekler.

PHP-FPM 7.2

2021-09-17

7.2.34

1.18.0

Debian 10.7

Yok

PHP-FPM 7.1

2021-09-17

7.1.33

1.18.0

Debian 10.2

Yok

PHP-FPM 7.0

2021-09-17

7.0.33

1.18.0

Debian 9.6

Yok

PHP-FPM 5.6

2021-09-17

5.6.40

1.18.0

Debian 9.6

Yok

PHP-FPM 5.5

2021-09-17

5.5.38

1.18.0

Debian 8.5

Yok

PHP-FPM 5.4

2021-09-17

5.4.45

1.18.0

Debian 8.2

Yok

Sistem dizinleri

SAE PHP ortamı, uygulama paketi dağıtımı için varsayılan olarak aşağıdaki dizinleri kullanır:

Tür

Yol

Açıklama

Dizin

/home/admin/app/

Uygulama paketlerinin dağıtıldığı varsayılan dizin.

Dizin

/home/admin/app/nginx/

  • Demo paketindeki ./nginx/ dizinine karşılık gelen varsayılan NGINX site dizini.

  • NGINX server {} yapılandırmasını destekler. Daha fazla bilgi için bkz. ngx_http_core_module.

Dizin

/home/admin/app/php/

Demo paketindeki ./php/ dizinine karşılık gelen varsayılan PHP uygulama dizini.

Dosya

/usr/local/etc/php.ini

SAE için önerilen php.ini yapılandırma yolu.

Aşağıdaki tabloda PHP-FPM'nin varsayılan yapılandırmaları açıklanmaktadır:


Tür


Yol


Açıklama


Dizin


/usr/local/etc/php


PHP_INI_DIR.


Dizin


/usr/local/etc/php/conf.d/


PHP uzantılarının depolandığı dizin. Varsayılan olarak uzantılar .ini dosyalarına dahil edilir.


Dosya


/usr/local/etc/php-fpm.conf


PHP-FPM için varsayılan yapılandırma dosyası. Daha fazla bilgi için bkz. FastCGI Process Manager (FPM). Yapılandırmayı değiştirme hakkında bilgi için bkz. Yapılandırma öğelerini yönetme ve kullanma (K8s ConfigMap).

Aşağıdaki tabloda NGINX'in varsayılan yapılandırmaları açıklanmaktadır:


Tür


Yol


Açıklama


Dosya


/usr/sbin/nginx


NGINX dizini.


Dizin


/etc/nginx/


Varsayılan NGINX yapılandırmalarının dizini.


Dosya


/etc/nginx/nginx.conf


http {} yapılandırmasını içeren varsayılan NGINX yapılandırma dosyası nginx.conf. Varsayılan olarak http {} yapılandırması /home/admin/app/nginx/ yapılandırmasına başvurur. Yapılandırmayı değiştirme hakkında bilgi için bkz. Yapılandırma öğelerini yönetme ve kullanma (K8s ConfigMap).

Yerleşik uzantılar

SAE tarafından sağlanan PHP ortamı aşağıdaki uzantıları destekler:

İlgili izinler

Varsayılan olarak PHP-FPM ve NGINX uygulamaları www-data kullanıcısı ile çalıştırır. Aşağıdaki tabloda izinler açıklanmaktadır.

Hizmet

İzin KULLANICI GRUBU

Açıklama

PHP-FPM

İşlem

www-data www-data

PHP varsayılanı, yapılandırma dosyası yolu /usr/local/etc/php-fpm.conf.

NGINX

İşlem

www-data www-data

NGINX varsayılanı, yapılandırma dosyası yolu /etc/nginx/nginx.conf.

Dosya dizini

Dizin

root root

Kod paketlerinin dağıtıldığı dizin, yapılandırma dizini /home/admin/app/. Aşağıdaki örneğe bakın:

drwxrwxrwx 2 root root 4096 May 13  2021 nginx
    drwxrwxrwx 1 root root 4096 Apr  8 11:45 php
Önemli

Uygulama hatalarını önlemek için kullanıcıyı korumanızı öneririz.

PHP uzantı desteği

Varsayılan ve PECL uzantıları

Bir uygulama dağıtırken, varsayılan PHP uzantıları ve PECL uzantıları dahil olmak üzere yerleşik uzantıları belirtmek için php.ini dosyasını yapılandırabilirsiniz.

Web kabuğunda yerleşik uzantıları görüntülemek için aşağıdaki komutu çalıştırın. Web kabuğunu açma hakkında bilgi için bkz. Web kabuğunu görüntüleme.

php -m

Farklı çalışma zamanı ortamları tarafından desteklenen yerleşik uzantılara örnekler:

PECL 7.3

[PHP Modules]
amqp
ARMS
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
igbinary
imagick
json
libxml
mbstring
mcrypt
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
timezonedb
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
yaml
Zend OPcache
zip
zlib

[Zend Modules]
Xdebug
Zend OPcache

PECL 7.2

[PHP Modules]
amqp
ARMS
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
igbinary
imagick
json
libxml
mbstring
mcrypt
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
timezonedb
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
yaml
Zend OPcache
zip
zlib

[Zend Modules]
Xdebug
Zend OPcache

PECL 7.1

[PHP Modules]
amqp
ARMS
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
igbinary
imagick
json
libxml
mbstring
mcrypt
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
timezonedb
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
yaml
Zend OPcache
zip
zlib

[Zend Modules]
Xdebug
Zend OPcache

PECL 7.0

[PHP Modules]
amqp
ARMS
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
igbinary
imagick
json
libxml
mbstring
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
timezonedb
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
yaml
Zend OPcache
zip
zlib

[Zend Modules]
Xdebug
Zend OPcache

PECL 5.6

[PHP Modules]
amqp
ARMS
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
igbinary
imagick
json
libxml
mbstring
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
timezonedb
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
yaml
Zend OPcache
zip
zlib

[Zend Modules]
Xdebug
Zend OPcache

PECL 5.5

[PHP Modules]
amqp
ARMS
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
igbinary
imagick
json
libxml
mbstring
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
timezonedb
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
yaml
Zend OPcache
zip
zlib

[Zend Modules]
Xdebug
Zend OPcache

PECL 5.4

[PHP Modules]
amqp
ARMS
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gettext
gmp
hash
iconv
igbinary
imagick
json
libxml
mbstring
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
recode
redis
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
timezonedb
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
yaml
zip
zlib

[Zend Modules]
Xdebug

Konsol ve API aracılığıyla uzantıları yükleme

SAE konsolu veya API aracılığıyla varsayılan PHP uzantılarını etkinleştirebilir veya belirli sürümlerdeki PECL uzantılarını yükleyebilirsiniz. Daha fazla bilgi için bkz. PHP uygulaması dağıtma.

Üçüncü taraf uzantıları yükleme

Bu bölümde, PHP-FPM 7.3'te kaynak kodunu içeren YAML dosyasını derleyerek üçüncü taraf bir uzantının nasıl yükleneceği açıklanmaktadır.

  1. Çalışma zamanı ortamı olarak PHP 7.3 kullanan bir SAE uygulaması oluşturun.

  2. İnternet erişimini etkinleştirin.

  3. Web kabuğunu kullanarak örnekte oturum açın ve uzantıyı derleyip yüklemek için aşağıdaki komutları çalıştırın:

    # Get the source code
    wget https://pecl.php.net/get/yaml-2.2.2.tgz
    tar -zxvf yaml-2.2.2.tgz
    # Compile and install the extension
    cd yaml-2.2.2 && \
    phpize && \
    ./configure && \
    make && make install
  4. Uzantıyı yerel makinenize indirin. Daha fazla bilgi için bkz. Günlükler aracılığıyla uygulamaları tanılamak için dosya yükleme ve indirme.

    Uzantı dizini:

    /home/admin/yaml-2.2.2/modules/yaml.so
  5. Uzantıyı uygulamanın ZIP paketine ekleyin. ZIP paketi yapısı:

    .
    ├── nginx
    │ ├── default.conf
    │ ├── fastcgi_params
    │ ├── global
    │ └── root.dir
    ├── php
    │ ├── index.php
    └── extensions
     └── yaml.so
  6. Uygulamayı dağıtın, uzantıyı içeren ZIP paketini yükleyin ve ardından uzantıyı etkinleştirmek için php.ini dosyasına uzantı yapılandırmasını ekleyin.

    extension=/home/admin/app/extensions/yaml.so
  7. Web kabuğunu kullanarak örnekte oturum açın ve uzantının yüklenip yüklenmediğini kontrol edin.

    # php -m | grep yaml
    yaml

Yaygın yapılandırmalar

Varsayılan hizmet bağlantı noktaları

Aşağıdaki tabloda SAE tarafından yapılandırılan NGINX ve PHP-FPM'nin varsayılan hizmet bağlantı noktaları açıklanmaktadır:


Program


Bağlantı noktası


NGINX


80


PHP-FPM


127.0.0.1:9000

PHP-FPM günlükleri: standart çıkış

  • PHP-FPM günlükleri gerçek zamanlı günlüklerde bulunur. Aşağıdaki örnek kod, /usr/local/etc/php-fpm.d/docker.conf dosyasındaki günlük yapılandırmasına örnek teşkil eder:

    [global]
    error_log = /proc/self/fd/2
    log_limit = 8192
    
    [www]
    access.log = /proc/self/fd/2
  • Görüntülenmeyen PHP hata günlükleri. Aşağıdaki örnek kod, php.ini dosyasındaki günlük yapılandırmasına örnek teşkil eder.

    error_log => no value => no value
    log_errors => Off => Off
    log_errors_max_len => 1024 => 1024
  • Hata günlüklerini gerçek zamanlı günlüklere dahil etmek istiyorsanız bir uygulama oluştururken veya dağıtırken php.ini dosyasını yapılandırmanız gerekir. Hata günlüklerini depolamak için aşağıdaki dizini belirtmeniz gerekir:

    log_errors = on
    error_log = /proc/self/fd/2

NGINX günlükleri: standart çıkış

  • NGINX günlükleri gerçek zamanlı günlüklerde bulunur. Aşağıdaki örnek kod, ./nginx/default.conf dosyasındaki günlük yapılandırmasına örnek teşkil eder:

    #access_log /dev/stdout;
    error_log stderr;
  • access_log özelliğini etkinleştirebilirsiniz. Varsayılan olarak günlükler gerçek zamanlı günlüklerde bulunur.

Dosya önbelleğe alma: statik dosyalar, resimler ve medya

PHP için OPcache'in etkinleştirilip etkinleştirilmeyeceğini belirlemek üzere php.ini dosyasını yapılandırabilirsiniz. SAE varsayılan olarak OPcache'i etkinleştirir. Yapılandırma hakkında daha fazla bilgi için bkz. OPcache çalışma zamanı yapılandırması.

  • OPcache'i etkinleştirin: Bu seçenek, kod yürütmeyi hızlandırmak ve disk giriş/çıkış (G/Ç) işlemlerini azaltmak için çevrimiçi web sitelerine uygundur.

  • OPcache'i devre dışı bırakın: Bu seçenek hata ayıklama senaryolarına uygundur. Kod değişiklikleri hemen etkili olur.

Aşağıdaki örnek kod, php.ini yapılandırmasına örnek teşkil eder:

; Enable OPcache
opcache.enable=1
; Disable OPcache
;opcache.enable=0

Dosya önbelleğe alma: PHP kodu

Resimler, videolar, Cascading Style Sheets (CSS) dosyaları ve JavaScript dosyaları gibi birçok statik dosya için NGINX'te önbelleğe almayı etkinleştirebilir veya devre dışı bırakabilirsiniz. Yapılandırma hakkında daha fazla bilgi için bkz. Module ngx_http_headers_module.

  • Statik kaynak önbelleğe almayı etkinleştirin: Bu seçenek, çok sayıda medya dosyası yükleyen çevrimiçi hizmetlere ve web sitelerine uygundur. Bu, trafik aktarım hızını artırır ve saniye başına okuma giriş/çıkış işlemi sayısını (IOPS) azaltır.

  • Statik kaynak önbelleğe almayı devre dışı bırakın: Bu seçenek, uzaktan hata ayıklama, yükleme ve indirme gibi diğer kullanım senaryolarına uygundur. Dosyalara gerçek zamanlı olarak erişebilirsiniz.

Aşağıdaki örnek kod, ./nginx/default.conf yapılandırmasına örnek teşkil eder:

    # Static resource caching
    location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
        # Disable caching
        #expires off;
        # Enable caching
        expires 1s;
    }

Gelişmiş özellikler

Hizmetlerin sıcak yeniden başlatılması

  • ConfigMap, hizmetleri kesintiye uğratmadan yapılandırmaları değiştirmenize olanak tanır.

  • Webshell, hizmetleri kesintiye uğratmadan yeniden başlatmanıza olanak tanır.

    • NGINX'in sıcak yeniden başlatılması

      # Test the validity of the configuration file
      nginx -t
      # Restart NGINX without service interruptions
      nginx -s reload
    • PHP-FPM'nin sıcak yeniden başlatılması (Akış kesintisi oluşma olasılığı vardır. php.ini yapılandırmasını kontrol etmeniz gerekir.)

      ps uax | grep 'php-fpm: master' | grep -v grep | awk '{print $2}' | xargs kill -USR2

Yükleme ve indirme

SAE, dosya yüklemenize ve indirmenize olanak tanıyan birden çok yöntem sağlar. İş gereksinimlerinize göre aşağıdaki yöntemlerden birini seçebilirsiniz:

  • SAE konsolunu kullanın: Hata ayıklama için dosya yükleyebilir ve indirebilirsiniz. Dosya boyutu 10 MB'ı aşamaz. Daha fazla bilgi için bkz. Web kabuğu aracılığıyla dosya yükleme ve indirme.

  • SAE konsolunu kullanın: Uzaktan hata ayıklama yapabilirsiniz.

  • Kalıcı depolamayı kullanın: Apsara File Storage NAS veya Object Storage Service (OSS).

Python


Çalışma zamanı ortamı


Güncelleme tarihi


İşletim sistemi sürümü


Açıklama


Python 3,9.15


2022-10-11


Debian 11.0


Python 3,9.15

.NET Core

Geliştirme ve dağıtımı kolaylaştırmak için SAE temel görüntüleri resmi .NET temel görüntülerine dayalı olarak oluşturulmuş ve yaygın sorun giderme araçları ile yazı tipi paketleri önceden yapılandırılmıştır.

Sürüm

Temel görüntü

İşletim sistemi

Çalışma zamanı

3.1

mcr.microsoft.com/dotnet/aspnet:3.1

Debian GNU/Linux 10 (buster)

  • Microsoft.AspNetCore.App 3.1.32

  • Microsoft.NETCore.App 3.1.32

5.0

mcr.microsoft.com/dotnet/aspnet:5.0

Debian GNU/Linux 10 (buster)

  • Microsoft.AspNetCore.App 5.0.17

  • Microsoft.NETCore.App 5.0.17

6.0

mcr.microsoft.com/dotnet/aspnet:6.0

Debian GNU/Linux 11 (bullseye)

  • Microsoft.AspNetCore.App 6.0.33

  • Microsoft.NETCore.App 6.0.33

7.0

mcr.microsoft.com/dotnet/aspnet:7.0

Debian GNU/Linux 11 (bullseye)

  • Microsoft.AspNetCore.App 7.0.20

  • Microsoft.NETCore.App 7.0.20

8.0

mcr.microsoft.com/dotnet/aspnet:8.0

Debian GNU/Linux 12 (bookworm)

  • Microsoft.AspNetCore.App 8.0.8

  • Microsoft.NETCore.App 8.0.8