c語言在線編程網(wǎng)站優(yōu)化設(shè)計三年級下冊數(shù)學(xué)答案
受疫情影響消費者習(xí)慣發(fā)生改變,刺激了全球電商行業(yè)的快速發(fā)展。除了依托第三方電商平臺將產(chǎn)品銷售給消費者之外,企業(yè)通過品牌官網(wǎng)或者自有電商平臺銷售商品也是近幾年電商領(lǐng)域快速發(fā)展的商業(yè)模式。獨立站電商模式可以進(jìn)行多方面、全渠道的互聯(lián)網(wǎng)市場拓展,推廣所帶來的流量、品牌印象、知名度等都完全屬于電商企業(yè)自己所有,從而逐步建立品牌優(yōu)勢發(fā)展私域流量。
亞馬遜云科技開發(fā)者社區(qū)為開發(fā)者們提供全球的開發(fā)技術(shù)資源。這里有技術(shù)文檔、開發(fā)案例、技術(shù)專欄、培訓(xùn)視頻、活動與競賽等。幫助中國開發(fā)者對接世界最前沿技術(shù),觀點,和項目,并將中國優(yōu)秀開發(fā)者或技術(shù)推薦給全球云社區(qū)。如果你還沒有關(guān)注/收藏,看到這里請一定不要匆匆劃過,點這里讓它成為你的技術(shù)寶庫! |
對比第三方平臺賣家,自己搭建獨立站需要完成建站、流量運營、訂單履約、用戶運營全鏈路的工作。如何快速建站成為電商企業(yè)需要考慮的第一個問題,目前建站主要有三種方式,每個企業(yè)不同的需求和技術(shù)現(xiàn)狀決定各自適合的建站方式。第一種是全自主開發(fā)的方式,雖然可以實現(xiàn)最大程度的自定義和差異化但是需要投入大量研發(fā)時間和成本;第二種是選擇 SaaS 系統(tǒng)快速構(gòu)建電商平臺,建站服務(wù)商會為企業(yè)搭建信息化所需要的所有網(wǎng)絡(luò)基礎(chǔ)設(shè)施及軟件、硬件運作平臺,SaaS 建站確實是最便捷的方式,但是隨著電商平臺規(guī)模的壯大可能會發(fā)現(xiàn)一些弊端,比如功能可擴(kuò)展性,數(shù)據(jù)信息安全以及傭金。第三種是基于開源軟件開發(fā)電商平臺,開源的電商框架會具備庫存管理、商品列表、購物車、下單、愿望清單以及支付這些必需的基礎(chǔ)功能。開源組件的優(yōu)勢就在于靈活性強(qiáng),企業(yè)可以根據(jù)實際運用需求自主二次開發(fā)功能板塊構(gòu)建自定義的電商平臺,滿足不同階段的需求。這種建站方式降低了開發(fā)門檻,也提高了自由度和保證了數(shù)據(jù)安全,但是需要自行管理底層基礎(chǔ)設(shè)施保證平臺的穩(wěn)定性。使用 Serverless 的架構(gòu)來托管應(yīng)用可以很大程度解決這個痛點,用戶只需要管理應(yīng)用代碼而不需要運維底層的資源,另外 Serverless 的部署架構(gòu)對于關(guān)注成本效益的用戶來說是一個很好的起點。
本文主要會講解如何利用亞馬遜云科技 Serverless 服務(wù) Lambda 做計算資源來托管開源的 WooCommerce,Lambda 以及其他無服務(wù)器服務(wù)內(nèi)置功能擴(kuò)展和彈性可以省去運維的煩惱,同時按運行時間計費的粒度提高了成本效率。為了幫助客戶快速上手,我們還提供預(yù)定義的 CloudFormation 模版能夠一鍵部署所有資源,包括網(wǎng)絡(luò)環(huán)境,計算資源,數(shù)據(jù)庫等,在兩個小時內(nèi)就能搭建起一個電商平臺。
WooCommerce 簡介
WooCommerce 是一個基于 WordPress.org 的開源的電商網(wǎng)站插件,它可以幫助企業(yè)在 WordPress 的基礎(chǔ)上快速的構(gòu)建一個在線電商平臺,提供商品列表,購物車,下單和支付等電商相關(guān)功能。WooCommerce 在全球有超過1000萬的下載量,在訪問兩超過百萬的網(wǎng)站中 WooCommerce 占了27%,并且用戶數(shù)量還在持續(xù)增長中。龐大的用戶群也確保了 WooCommerce 擁有非?;钴S的互動社區(qū)。這也意味著,你將加入互聯(lián)網(wǎng)上增長最快的開源社區(qū)之一。此外,使用 WooCommerce 也就等于你可以使用超過50,000個 WordPress 插件,包括很多專門為 WooCommerce 設(shè)計的插件。 簡潔明了的店鋪風(fēng)格也是電商平臺給予消費者直觀的體驗之一,WooCommerce 具有豐富主題模版。所有 WordPress 主題都適用于 WooCommerce 插件,賣家可以從大約1000個 WooDesign 主題中自由選擇。這一點較 Magento 和 Shopify 更有優(yōu)勢。此外,賣家還可以從 ThemeForest 等板塊獲取精美主題。 為了覆蓋更多終端用戶電商平臺需要考慮到移動端的兼容,WooCommerce 在設(shè)計時就加入了移動友好特性,所以無論訪客使用哪種設(shè)備瀏覽店鋪,它都可以平穩(wěn)地運行并完美地呈現(xiàn)商品。同時 WooCommerce 提供了很多分析工具和店鋪管理功能。通過商品頁可以看到單個商品的銷售量,分類頁則能以商品的類別進(jìn)行數(shù)據(jù)統(tǒng)計。當(dāng)然,你也可以根據(jù)日期和不同品牌來統(tǒng)計每日和每月的銷售量。 WooCommerce 默認(rèn)提供 PayPal 和 Stripe 付款。不過,由于 WooCommerce 是一個開源平臺,因此許多區(qū)域性的或者不是特別大眾的第三方支付服務(wù)也已為 WooCommerce 建立了集成(P.S.你也可以找到微信支付和支付寶的擴(kuò)展插件)。同時,它也支持主要的信用卡、借記卡、網(wǎng)上銀行等。 WooCommerce 的免費易用,輕量級和可擴(kuò)展性成為大量獨立站建站的第一選擇。由于 WooCommerce 是在 WordPress 基礎(chǔ)上安裝插件做電商平臺,所以第一步就需要安裝部署 WordPress,比如創(chuàng)建計算實例 Amazon EC2和數(shù)據(jù)庫 RDS,還有網(wǎng)絡(luò) VPC 和安全等基礎(chǔ)設(shè)施的規(guī)劃,然后在域名托管處比如 Route53將自己的購買的域名解析到對應(yīng)的資源上。如果需要進(jìn)一步提高用戶訪問速度,邊緣加速服務(wù) Amazon CloudFront 也是必不可少的部分,另外架構(gòu)的高可用和彈性也會影響到用戶體驗,可以通過負(fù)載均衡器 ELB 和彈性擴(kuò)容組 AutoScaling 來實現(xiàn)。 上述參考架構(gòu)說明了在亞馬遜云上部署 WordPress 和 WooCommerce 的完整最佳實踐。
- 用戶請求從 Amazon CloudFront (1) 中的邊緣緩存進(jìn)來,Amazon CloudFront 將內(nèi)容緩存在最終用戶附近的邊緣節(jié)點,以加快用戶訪問速度。
- 動態(tài)請求回源到 Application Load Balancer (4)轉(zhuǎn)發(fā)到 WordPress 的 EC2實例,邊緣節(jié)點沒有命中的靜態(tài)請求回源到 S3存儲桶。
- WordPress 的 EC2實例配置為 Auto Scaling 組運行(6)。
- ElastiCache 集群 (7) 緩存頻繁查詢的數(shù)據(jù)以加快響應(yīng)速度。
- 使用 Amazon Aurora MySQL 實例(8) 托管 WordPress 數(shù)據(jù)庫。
- WordPress 的 EC2實例通過每個可用區(qū)中的 EFS 掛載目標(biāo)共享 EFS 文件系統(tǒng)實現(xiàn)數(shù)據(jù)共享 (9)。
Serverless-WooCommerce 建站方案架構(gòu)
為了解決用戶部署基礎(chǔ)設(shè)施的工作,本文提供的 Serverless-WooCommerce 一鍵部署方案是基于亞馬遜云無服務(wù)器服務(wù) Amazon Lambda 來部署 WordPress 和 WooCommerce。對比前文提到基于服務(wù)器部署 WordPress 和 WooCommerce,Serverless-WooCommerce 主要是用 Lambda 來實現(xiàn)動態(tài)請求的處理,替換了原有架構(gòu)中的負(fù)載均衡器 ELB 和彈性擴(kuò)展組 Autoscaling,架構(gòu)圖詳情如下:
- Amazon Route53 負(fù)責(zé)域名的解析,Amazon CloudFront通過邊緣節(jié)點加速用戶的訪問。
- 用戶的動態(tài)請求回源到 Lambda URL 觸發(fā)后續(xù) Lambda 運行,邊緣節(jié)點沒有命中的靜態(tài)請求回源到 S3存儲桶。
- Lambda Adapter 接收到 Lambda 事件并將其轉(zhuǎn)換成 Wordpress 能處理的 HTTP 請求。
- 數(shù)據(jù)庫層使用 ElastiCache 集群緩存頻繁查詢的數(shù)據(jù)以加快響應(yīng)速度,使用 Amazon Aurora MySQL 實例做數(shù)據(jù)庫。
- 通過每個可用區(qū)中的 EFS 掛載目標(biāo)將 Amazon EFS 文件系統(tǒng)掛載到Lambda 本地目錄,實現(xiàn) WooCommerce 的共享文件系統(tǒng)。
快速部署 WooCommerce on serverless
通常我們會使用 GUI 和 CLI 來創(chuàng)建和管理云資源,但是隨著系統(tǒng)的復(fù)雜度提升,底層資源的增加,手動管理會成為一個噩夢,一個很小的人為失誤可能導(dǎo)致系統(tǒng)崩潰。 本方案采用 Amazon 原生的IaC(Infrastructure as Code)工具,CDK(Cloud Development Kit)部署云資源。CDK 是 cloudformation 的高級封裝,可以通過高級語言去定義云資源。使用 CDK,通過代碼的方式(而非手動流程)來管理云資源,可以確保每次置備的環(huán)境都完全相同,并避免發(fā)生未記錄的臨時配置更改。CDK 也可以和 DevOps 結(jié)合起來。 本解決方案通過 CDK 一鍵部署所有資源,為減少實驗成本,在 CDK 模板里拉起的 ElastiCache 和 RDS aurora 實例規(guī)模很小,客戶可自行修改 CDK 模板,調(diào)整資源規(guī)模以適應(yīng)生產(chǎn)。
前提
- 具有 亞馬遜云科技 賬戶管理員訪問權(quán)限的 IAM 用戶身份。
- 如果您在本地運行本項目需要提前安裝 Amazon CDK 與 CLI,您可以選擇使用 Cloud9。另外需要注意 AWS CLI 版本需要在19 以上,Amazon CDK 版本需要在 2.24 以上。
- 一個可用于公網(wǎng)訪問的域名
部署無服務(wù)器電商網(wǎng)站基礎(chǔ)設(shè)施
- 獲取部署代碼
git clone <https://github.com/aws-samples/serverless-WooCommerce-workshop.git>
- 初始化 CDK 項目
#通過 Cli 獲取賬戶相關(guān)信息
aws sts get-caller-identity
#填入上述命令返回的 Account-id 替換以下命令的 ACCOUNT-NUMBER
`cdk bootstrap aws``:``//<ACCOUNT-NUMBER>/<REGION>`
3.配置環(huán)境變量
- 創(chuàng)建環(huán)境變量文件:復(fù)制 cdk 目錄下的隱藏文件.env.example,重命名為.env
- 替換示例文件中的域名:用提前準(zhǔn)備好的可公開訪問的自定義域名,替換如下配置中的域名部分,該域名需要在 route 53里面有托管區(qū)
- 替換配置文件中對應(yīng)的密鑰:訪問網(wǎng)站:?https://keys.live.lambdashop.xyz/?生成隨機(jī)密鑰,并替換配置文件中對應(yīng)的密鑰
`#域名替換部分
# a DNS domain hosted on Route53`
`ROUTE53_HOSTEDZONE``=<``site``.``example``.``com``>`
`# the name for your site`
`ROUTE53_SITENAME``=<``site``.``example``.``com``>`
`# specifyWordPress environment: development, staging or production.`
`WP_ENV``=``production`
`# URL forWordPress home`
`WP_HOME``=``https``:``//<site.example.com>`
`# URL forWordPress root. Bedrock is under /wp`
`WP_SITEURL``=``https``:``//<site.example.com>/wp#密鑰替換部分
# Generate your keys with 'openssl rand -base64 48'
AUTH_KEY="replace me..."
SECURE_AUTH_KEY="replace me..."
LOGGED_IN_KEY="replace me..."
NONCE_KEY="replace me..."AUTH_SALT="replace me..."
SECURE_AUTH_SALT="replace me..."
LOGGED_IN_SALT="replace me..."
NONCE_SALT="replace me..."
`
4.部署網(wǎng)站,大約需要25分鐘
cd cdk
npm install
make diff
make deploy
5.等到返回 Stack ARN 和對應(yīng)資源的訪問鏈接表示部署完成
安裝配置 WordPress 與 WooCommerce
-
訪問上一步設(shè)定的自定義域名再填入網(wǎng)站標(biāo)題及管理員密碼等信息,點擊安裝 WordPress
-
待 WordPress 安裝完成之后點擊 Log In 登陸到管理控制頁面
- 點擊控制臺左側(cè) Appearance 根據(jù)自己的喜好選擇,以安裝 Blocksy 為例
-
安裝好之后 WordPress 頁面左邊導(dǎo)航條會出現(xiàn) Blocksy,點擊之后在 starter sites 瀏覽頁面的基本樣式
-
安裝必要的 Blocksy WordPress 插件,點擊控制臺左側(cè) plugins,點擊安裝 Stackable – Gutenberg Blocks,同樣的操作安裝 WPForms 用于留言板 , Query Monitor 則可以幫助我們在開發(fā)環(huán)節(jié)調(diào)試查看當(dāng)前頁面性能,最后安裝 WooCommerce 插件
-
安裝激活 WooCommerce 后會跳轉(zhuǎn)到 WooCommerce 網(wǎng)站配置頁面,根據(jù)實際情況配置商家地址,所售物品類別與數(shù)量等。然后在 WordPress 管理頁面左邊導(dǎo)航條繼續(xù)配置 WooCommerce 商店信息,包括商品信息,支付方式,稅率,發(fā)貨方式等等。
-
使用 Blocksy 配置 WooCommerce,使其成為一個可用的電商網(wǎng)站。
a. 刪除 wordpress已有頁面, 點擊頁面左側(cè) Pages => 全選 => Move to Trash => Apply
b. 導(dǎo)入 Blocksy 預(yù)留主題,點擊頁面左側(cè) Blocksy => Starter Sites => Gadgets => import
c. 取消選擇 Install Child Theme,同樣的 WPForms 和 Stackable 已經(jīng)安裝好了,這里我們?nèi)∠x中,然后下一步。
d. 等待幾分鐘 Blocksy 安裝完成,點擊 View Site 查看我們 WooCommerce 網(wǎng)站,可以看到我們主頁已經(jīng)有很多商品,還可以下單測試網(wǎng)站功能,下單完成之后還可以在后臺看到訂單詳情。
至此整個 WooCommerce 站點配置已經(jīng)完成,本文以 Blocksy 為例自定義了整個網(wǎng)站主題,該站點具有下單,支付,訂單管理功能。
總結(jié)
本文介紹的無服務(wù)器建站方式提供了快速構(gòu)建電商獨立站的一種方式,非常適合初期建站的用戶使用。利用 Amazon 的 Serverless 服務(wù) Lambda,無需管理 WordPress 的基礎(chǔ)設(shè)施,自動擴(kuò)縮容以應(yīng)對流量高低峰。數(shù)據(jù)庫和緩存也使用 Amazon 托管服務(wù),最大程度減少運維工作量。同時提供 CDK 代碼來部署和管理整套資源,讓您可以方便的通過修改 CDK 代碼來進(jìn)行擴(kuò)展。
附錄
基于亞馬遜云科技無服務(wù)器服務(wù)快速搭建電商平臺——性能篇
本篇作者
汪其香
Amazon 解決方案架構(gòu)師,負(fù)責(zé)基于 Amazon 云計算方案的架構(gòu)咨詢和設(shè)計實現(xiàn),具有豐富的解決客戶實際問題的經(jīng)驗,同時熱衷于深度學(xué)習(xí)的研究與應(yīng)用。
許昌月
Amazon 解決方案架構(gòu)師,負(fù)責(zé)基于 Amazon 的云計算方案架構(gòu)咨詢和設(shè)計,實施和推廣,擅長軟件開發(fā),具有豐富的解決客戶實際問題的經(jīng)驗。
文章來源:https://dev.amazoncloud.cn/column/article/6309bb2376658473a321ffd1?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN?