租用幫助
如何使用AWS的S3托管靜態網頁?在AWS上有很多部署靜態網頁的方式,比如使用EC2或者Lightsail。但是不管使用上述哪種方案,都需要預先部署如Nignx或者Apache等Http服務。這對純前端同學來說可能有點復雜,而AWS提供了更簡單的部署方式——只需要提供靜態網頁文件的“S3網頁托管服務”。(轉載請指明出于breaksoftware的csdn博客)
使用AWS的S3托管靜態網頁:http://www.bxgb88.com/zt/2023-05-06/
如何使用AWS的S3托管靜態網頁的實施步驟:
1、創建存儲桶
因為S3管理頁面是不分區的——“全球”,所以在創建存儲桶時,需要指定該存儲桶所在的區域。這次部署的區域是us-east-1(弗吉尼亞北部),為了方便之后環節介紹的“自動化部署”,我們給該存儲桶取名規則制定為“區域-項目-前/后端”,其中kronos是我們項目名稱。由于我們是重新創建存儲桶,所以不復制任何桶的設置。
在“設置權限”中取消勾選“阻止全部公共訪問權限”
2、設置為“公有”
進入存儲桶,在“權限”頁面選中“存儲桶策略”,并填入下面的配置
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::us-east-1-kronos-web/*"
}
]
}
3、設置“靜態網站托管”
進入“屬性”,點擊“靜態網站托管”。由于我們項目是Vue,且路由是History模式,所以需要將“索引文檔”和“錯誤文檔”都設置為“index.html”。這個設置尤其重要,否則History模式將無法使用。同時記錄下“終端節點”的URL,我們將通過這個URL訪問靜態網頁。
文件上傳
由于文件不能打包上傳,所以我們需要一個個,一層層上傳靜態網頁的文件。
一個比較簡單的方法是使用aws工具。我們進入dist文件夾所在的目錄,執行如下指令
aws s3 sync dist --region us-east-1 s3://us-east-1-kronos-web/
最后我們訪問上一步的URL,便可以看到網頁內容。