阿里云函數(shù)計(jì)算運(yùn)行PHP框架原理及操作步驟分析
2023-10-09
本文旨在通過快速部署網(wǎng)站到阿里云函數(shù)計(jì)算平臺(tái)的例子來演示W(wǎng)eb的新開發(fā)模式,包括FUN工具一鍵初始化NAS、網(wǎng)站同步到NAS、一鍵部署、等等,并展示了函數(shù)計(jì)算的開發(fā)敏捷性。 、自動(dòng)彈性擴(kuò)展、免運(yùn)維、監(jiān)控設(shè)施齊全。
相關(guān)參考文檔:
1.1 演示概述
1.2 解決方案
如上圖所示,當(dāng)多個(gè)用戶通過外部提供的 URL 訪問 Web 服務(wù)時(shí),每秒的請(qǐng)求數(shù)是數(shù)百還是數(shù)千并不重要。 函數(shù)計(jì)算平臺(tái)將自動(dòng)擴(kuò)展并提供足夠的執(zhí)行實(shí)例來響應(yīng)用戶請(qǐng)求。 ,同時(shí)函數(shù)計(jì)算提供了完善的監(jiān)控設(shè)施來監(jiān)控你函數(shù)的運(yùn)行情況。
1.3 方案與傳統(tǒng)自建Web方案對(duì)比
函數(shù)計(jì)算全部成本詳細(xì)信息:
函數(shù)計(jì)算計(jì)費(fèi)| 網(wǎng)絡(luò)存儲(chǔ)定價(jià)
如上所述,在低成本網(wǎng)站領(lǐng)域,函數(shù)計(jì)算具有非常明顯的成本優(yōu)勢(shì)php 統(tǒng)計(jì)網(wǎng)頁(yè)訪問量代碼,同時(shí)又保持了靈活性。 未來業(yè)務(wù)規(guī)模變大時(shí),不會(huì)產(chǎn)生技術(shù)轉(zhuǎn)換成本(可能只需更換為更強(qiáng)的關(guān)系型數(shù)據(jù)庫(kù)),而通過預(yù)付費(fèi),財(cái)務(wù)成本增長(zhǎng)也能保持平穩(wěn)。 將低成本網(wǎng)站順利轉(zhuǎn)變?yōu)楦呖捎?、高性能網(wǎng)站。
函數(shù)計(jì)算運(yùn)行PHP框架原理
在具體操作和部署之前,我們先簡(jiǎn)單回顧一下PHP框架在函數(shù)計(jì)算上運(yùn)行的原理。
2.1 傳統(tǒng)服務(wù)器PHP運(yùn)行原理
從上面的示意圖我們可以看到,Web服務(wù)器根據(jù)conf將PHP腳本交給php-fpm進(jìn)行解析,然后將解析結(jié)果返回給客戶端。
2.2 FC驅(qū)動(dòng)的PHP工程原理
解析PHP項(xiàng)目中的PHP文件。 該對(duì)象提供了兩個(gè)重要的接口:
requestPhpCgi($request, $docRoot, $phpFile = "index.php", $fastCgiParams = [], $options = [])
如果有興趣可以學(xué)習(xí)一下函數(shù)計(jì)算PHP:
案例操作步驟
準(zhǔn)備條件
例如有一個(gè)域名,將域名解析到函數(shù)計(jì)算(FC)對(duì)應(yīng)的
如果你想把網(wǎng)站部署在杭州,那么就解決了網(wǎng)站優(yōu)化,你的網(wǎng)站在哪里?
3.1 安裝最新的Fun工具
3.2 工程
git
3.3 根據(jù)需要使用的數(shù)據(jù)庫(kù)進(jìn)入不同的目錄
如果使用數(shù)據(jù)庫(kù),請(qǐng)參閱第 3.3.1 節(jié)
如果使用數(shù)據(jù)庫(kù),請(qǐng)參閱第 3.3.2 節(jié)
3.3.1 使用數(shù)據(jù)庫(kù)
fun nas init fun nas info
fun nas init:初始化NAS,根據(jù)你的.env中的信息獲?。ㄒ呀?jīng)有滿足條件的nas)或者創(chuàng)建一個(gè)同等可用的nas
如果沒有修改.yml中的配置名稱,可以進(jìn)入下一步; 如果修改過,會(huì)在當(dāng)前目錄下生成一個(gè)新目錄。 fun/nas/auto-/{}(fun nas info可以列出新目錄)php 統(tǒng)計(jì)網(wǎng)頁(yè)訪問量代碼,將默認(rèn)目錄下的目錄.fun/nas/auto-/fc-wp-/復(fù)制到.fun/nas/auto-/{ },并刪除目錄.fun/nas/auto-/fc- wp-/
fun nas sync fun nas ls nas:///mnt/auto/
fun :將本地NAS中的內(nèi)容(.fun/nas/auto-/fc-wp-)上傳到NAS中的fc-wp-目錄
fun nas ls nas:///mnt/auto/: 檢查我們是否正確上傳文件到NAS
3.3.2 使用數(shù)據(jù)庫(kù)
fun nas init fun nas info
fun nas init:初始化NAS,根據(jù)你的.env中的信息獲?。ㄒ呀?jīng)有滿足條件的nas)或者創(chuàng)建一個(gè)同等可用的nas
如果沒有修改.yml中的配置名稱,可以進(jìn)入下一步; 如果修改過,會(huì)在當(dāng)前目錄下生成一個(gè)新目錄。 fun/nas/auto-/{}(fun nas info可以列出新目錄),將默認(rèn)目錄下的目錄.fun/nas/auto-/fc-wp-/復(fù)制到.fun/nas/auto-/{ },并刪除目錄.fun/nas/auto-/fc- wp-/
php -S 0.0.0.0:80
你提前準(zhǔn)備好的域名在哪里
安裝成功后,此時(shí).fun/nas/auto-/fc-wp-//wp-下面應(yīng)該有一個(gè)目錄。 使用 ls -a 檢查。 應(yīng)該有一個(gè).ht。 數(shù)據(jù)庫(kù)文件。
注意:中間修改host的目的是為了初始化數(shù)據(jù)庫(kù)。 基站url是提前準(zhǔn)備好的域名,不是127.0.0.1
fun nas sync fun nas ls nas:///mnt/auto/
fun :將本地NAS中的內(nèi)容(.fun/nas/auto-/fc-wp-)上傳到NAS中的fc-wp-目錄
fun nas ls nas:///mnt/auto/: 檢查我們是否正確上傳文件到NAS
3.4 將功能部署到FC平臺(tái)
接下來將函數(shù)部署到云平臺(tái):
登錄控制臺(tái)可以看到 和 函數(shù)已經(jīng)成功創(chuàng)建并且配置正確。
通過瀏覽器打開你之前配置的域名,比如本例
常問問題
Q1:函數(shù)計(jì)算可以開發(fā)高性能、高可用的網(wǎng)站嗎?
A:是的,只要連接的數(shù)據(jù)庫(kù)性能足夠,需要配合預(yù)留實(shí)例消除冷啟動(dòng),對(duì)于高qps的網(wǎng)站來說就足夠了。
Q2:低價(jià)版網(wǎng)站冷啟動(dòng)時(shí)首次打開速度很慢怎么辦?
A:使用保暖功能
Q3:低價(jià)版網(wǎng)站能支持多少qps?
答:這取決于數(shù)據(jù)庫(kù)性能。 以下是一些壓力測(cè)試結(jié)果:
每次壓力增加都會(huì)有一些冷啟動(dòng)seo優(yōu)化,時(shí)間也會(huì)變慢。 不過從壓測(cè)結(jié)果來看,毫無疑問支持,足以支持一些中小型網(wǎng)站。
Q3:是否可以使用其他語(yǔ)言來開發(fā)基于函數(shù)計(jì)算的網(wǎng)站?
A:可以,例如:,或者直接使用,內(nèi)置java、node、用戶手冊(cè)