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