小程序云托管無需服務(wù)器部署PHP

小程序發(fā)布至今也有幾年了,圍繞小程序開發(fā)的生態(tài)做的非常豐富,云開發(fā)出來之后更是方便了我們快速開發(fā)上線一個小程序。使用云開發(fā),我們無需自己去單獨購買阿里云,騰訊云的服務(wù)器,只要開通小程序云開發(fā),即刻擁有云服務(wù)器環(huán)境,開通后可以免費使用1個月,但是配置不是很高,但這足以應(yīng)付絕大多數(shù)的應(yīng)用了,當(dāng)然用的人多了也可以在小程序云開發(fā)上快速橫向擴展。今天就來說說怎么用小程序云托管部署PHP程序代碼。

1. 開通云開發(fā)

進入小程序管理后臺,點擊開發(fā)-云開發(fā),進入后直接開通,這個是免費的。

2. 開通云托管

進入小程序開發(fā)者工具,點擊云開發(fā):

在云開發(fā)控制臺開通云托管,也可以在 “設(shè)置 -> 拓展功能” 中開通。:

3. 創(chuàng)建服務(wù)

這里以PHP為例子,其他的都差不多,點擊創(chuàng)建服務(wù),填寫服務(wù)名稱后點確定

image

4. 準備代碼

創(chuàng)建一個空文件夾用于放我們的PHP代碼:

mkdir helloworld
cd helloworld

創(chuàng)建index.php并寫入如下內(nèi)容:

<?php
  echo 'Hello World!';

創(chuàng)建Dockerfile并編輯如下:

# 使用官方 PHP 7.3 鏡像.
# https://hub.docker.com/_/php
FROM php:7.3-apache

# 將本地代碼復(fù)制到容器內(nèi)
COPY index.php /var/www/html/

# Apache 配置文件內(nèi)使用 8080 端口
RUN sed -i 's/80/8080/g' /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf

# 將 PHP 配置為開發(fā)環(huán)境
# 如果您需要配置為生產(chǎn)環(huán)境,可以運行以下命令
# RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
# 參考:https://hub.docker.com/_/php#configuration
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"

添加.dockerignore文件

Dockerfile
README.md
vendor

這個文件的內(nèi)容是要排除指定的內(nèi)容。

新建服務(wù)版本

給剛剛創(chuàng)建的服務(wù)添加一個版本:

選擇本地上傳:

云托管支持本地上傳和代碼庫拉取兩種方式:

  • 本地上傳可以選擇文件夾或 ZIP 壓縮包進行上傳。需要上傳包含正確 Dockerfile 的代碼目錄,否則,將提示 Dockerfile 不合法。
  • 代碼庫拉取支持 GitHub,GitLab 和 Gitee 的代碼庫拉取,需要點擊授權(quán)后,才可以看到自己的代碼倉庫。在彈出的界面完成代碼授權(quán)后,關(guān)閉即可看到自己的代碼倉庫。

需要注意,文件夾或 ZIP 壓縮包上傳的代碼中不能超過 2 MB

在創(chuàng)建版本時,可以選擇「稍后配置」或「開啟 100% 流量」兩種流量配置,若選擇「稍后配置」,該版本將不會被分配流量。

點擊確認后,就會自動幫你創(chuàng)建了:

點擊版本右側(cè)的「詳情」,可以查看版本的詳細信息,包括版本的構(gòu)建日志,版本詳情以及實例信息:

  • 構(gòu)建日志:提供版本構(gòu)建日志信息。若版本構(gòu)建失敗,可以在下方建議處點擊「重新構(gòu)建」
  • 版本詳情:可以針對版本的備注和擴縮容實例數(shù)量進行調(diào)整
  • 實例信息:可以看到當(dāng)前容器的實例,對應(yīng)的實例 ID 以及創(chuàng)建時間。點擊「Web Shell」,可以在彈出的窗口中對實例進行操作。

調(diào)用云托管服務(wù)

調(diào)用云托管服務(wù)需要基礎(chǔ)版本庫在2.13.1以上,先檢查下當(dāng)前的基礎(chǔ)庫版本:

調(diào)用云托管服務(wù)

在小程序中,使用如下的代碼就可以調(diào)用云托管容器:

// 確認已經(jīng)在 onLaunch 中調(diào)用過 wx.cloud.init 初始化環(huán)境
const res = await wx.cloud.callContainer({
  path: '/container-helloworld', // 填入容器的訪問路徑(云托管-服務(wù)列表-路徑)
  method: 'GET',
})

console.log(res)

在 Web 端,可以使用如下代碼進行調(diào)用:

// 初始化 Cloud 實例
// 容器調(diào)用必填環(huán)境id,不能為空
var c1 = new wx.cloud.Cloud({
  resourceEnv: '環(huán)境id'
})
await c1.init()

// 返回值同 wx.request
const res = await c1.callContainer({
  path: '/container-helloworld', // 填入容器的訪問路徑(云托管-服務(wù)列表-路徑)
  // 其余參數(shù)同 wx.request
  method: 'POST',
})

console.log(res)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這兩天剛開始跟著視頻教程學(xué)習(xí)微信小程序,視頻里將小程序后端部署到了騰訊云,進行聯(lián)調(diào)開發(fā)。因本人只有阿里云服務(wù)器所以...
    SeLiNnnn丶Y閱讀 7,860評論 0 7
  • 夜鶯2517閱讀 128,103評論 1 9
  • 版本:ios 1.2.1 亮點: 1.app角標可以實時更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 7,382評論 1 6
  • 我是一名過去式的高三狗,很可悲,在這三年里我沒有戀愛,看著同齡的小伙伴們一對兒一對兒的,我的心不好受。怎么說呢,高...
    小娘紙閱讀 3,778評論 4 7
  • 那一年,我選擇了獨立遠行,火車帶著我在前進的軌道上爬行了超過23個小時; 那一年,我走過泥濘的柏油路,在那個遠離故...
    木芽閱讀 1,922評論 4 5

友情鏈接更多精彩內(nèi)容