全部產品
Search
文件中心

Serverless App Engine:製作符合SAE要求的程式碼封裝

更新時間:Jun 14, 2025

通過程式碼封裝部署應用前,您需要先按照SAE的要求製作程式碼封裝。

Java

  1. 製作SAE應用的JAR包或WAR包的方式與您日常打包代碼的方式沒有任何差異。

  2. 通過WAR包或JAR包部署Java應用

PHP

  1. 下載範例程式碼包hello-sae-php.zip並解壓,目錄結構如下:

    .
    ├── nginx
    │   ├── default.conf
    │   ├── fastcgi_params
    │   └── root.dir
    ├── php # 程式所在目錄
    │   ├── index.php # 程式入口檔案
    │   └── phpinfo.php
  2. php/中的代碼替換為您的業務代碼。

  3. 按需修改nginx/中的設定檔。

    配置項

    預設值

    如何修改

    服務連接埠

    80

    修改default.conf檔案,在server{ }中的首行添加listen <port>;(例如listen 8080;)。

    程式入口檔案名稱

    index.php(如範例程式碼所示)

    如果您修改了程式入口檔案名稱,請同步執行以下操作:

    修改default.conf檔案,將index index.php index.html index.htm;改為index <程式入口檔案名稱>;,將fastcgi_index index.php;改為fastcgi_index <程式入口檔案名稱>;

    程式所在目錄名稱

    php(如範例程式碼所示)

    如果您修改了程式所在目錄名稱,請同步執行以下操作:

    修改root.dir檔案,將root /home/admin/app/php;改為root /home/admin/app/<程式所在目錄名稱>;

  4. 將目前的目錄中的內容打包為ZIP包,注意nginxphp需位於ZIP包的根路徑。

  5. 通過ZIP包部署PHP應用

Python

  1. 瞭解ZIP打包規範。

    • 打包代碼根目錄檔案或者檔案夾,切勿打包外層目錄。

    • 如果應用存在requirements.txt,需要將其置於根目錄下一同打包,便於部署時SAE自動安裝軟體依賴。

  2. 基於樣本hello-sae-python.zip,將您的Python應用打包為ZIP包。樣本的目錄結構如下(範例程式碼依賴Flask、Gunicorn等,詳見requirements.txt):

    .
    ├── app
    │   └── hello.py
    └── requirements.txt (需在根目錄,可選)

    執行如下命令:

    # 擷取樣本
    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
    # 將範例程式碼替換為您的Python程式(將/path/to/your-python-project/替換為您的專案路徑)
    rm -rf app/* requirements.txt
    cp -r /path/to/your-python-project/. app/
    cp -r /path/to/your-python-project/requirements.txt ./
    # 打包成ZIP包
    zip -r my-python-app.zip app requirements.txt
  3. 通過ZIP包部署Python應用

.NET Core

  1. 瞭解ZIP打包規範。

    ZIP目錄

    對應SAE執行個體運行時目錄

    描述

    ./start.sh

    /home/admin/start.sh

    存放應用啟動指令碼。

    ./your-dotnet-project

    /home/admin/app/nginx/*.conf

    存放.NET程式。

    • 打包代碼根目錄檔案或者檔案夾,切勿打包外層目錄。

    • 如果應用存在啟動指令碼,如start.sh檔案等,需要將其置於根目錄下一同打包,便於部署時SAE自動執行啟動指令碼。

  2. 下載安裝.NET SDK,確保選擇SAE支援的.NET Core版本。可以通過執行dotnet --version驗證是否安裝成功。如果報錯,請按照報錯資訊安裝對應的依賴包。

  3. 編譯和構建專案,執行如下命令:

    # 進入專案路徑(將/path/to/your-dotnet-project/替換為您的專案路徑)
    cd /path/to/your-dotnet-project/
    # 還原專案依賴
    dotnet restore
    # 編譯源碼
    dotnet build -c Release -o demo
    # -c Release:表示最佳化代碼以提高運行時效能,並去除調試資訊,適宜於生產環境部署。
    # -o demo:表示構建輸出的目錄為demo。
  4. 編寫專案的啟動指令碼(如:start.sh)並為其添加可執行許可權chmod +x ./start.sh

  5. 通過tree命令查看目前的目錄結構。

    .
    ├── appsettings.Development.json
    ├── appsettings.json
    ├── appsettings.Production.json
    ├── your-dotnet-project
    ...
    └── start.sh
  6. 打包為ZIP包。

    zip -r demo.zip *
    # demo.zip:表示需要打包成的zip檔案。
    # *:表示打包目前的目錄中的所有檔案及檔案夾。
  7. 通過ZIP包部署.NET Core應用