天天看點

「72變的雲開發」serverless搭建幾乎零成本的typecho部落格開始前準備typecho(新站)到此結束成本計算

開始前準備

1.

wordpress安裝包

(這個是必要的,即使安裝typecho)下載下傳好後解壓

2.下載下傳

typecho

最新版,請将下載下傳好的typecho解壓到fc-wordpress\fc-web-sqlite\.fun\nas\auto-default\fc-wp-sqlite\wordpress目錄内

2.安裝

nodejs

和funcraf還有

gitbash

3.去開通阿裡雲的

函數計算fc

,region選擇香港(不用備案)

4.開通

檔案存儲nas

,用來存儲網站的所有檔案

配置.env檔案

擷取AccessKey ID 和 AccessKey Secret

「72變的雲開發」serverless搭建幾乎零成本的typecho部落格開始前準備typecho(新站)到此結束成本計算
擷取阿裡雲賬戶id
「72變的雲開發」serverless搭建幾乎零成本的typecho部落格開始前準備typecho(新站)到此結束成本計算

在解壓好的fc-wordpress/fc-web-sqlite/目錄裡面的.env_example檔案重命名為.env,并按照以下提示修改配置

DEFAULT_REGION=cn-hongkong              //位置是香港
ACCOUNT_ID=16*********30               //阿裡雲賬戶ID
ENDPOINT=http://16********30.cn-hongkong.fc.aliyuncs.com          //阿裡雲賬戶ID.cn-hongkong.fc.aliyuncs.com  
ACCESS_KEY_ID=LT***********AN   
ACCESS_KEY_SECRET=Lg8c1*********1bL77n      

解析域名

把個人域名解析到endpoint裡面對應的網址
「72變的雲開發」serverless搭建幾乎零成本的typecho部落格開始前準備typecho(新站)到此結束成本計算

修改index.php

修改fc-wordpress\fc-web-sqlite目錄中index.php,将host值将‘host = "";`内的域名改成你已經解析到endpoint的域名

「72變的雲開發」serverless搭建幾乎零成本的typecho部落格開始前準備typecho(新站)到此結束成本計算

修改template.yml

1.修改該檔案内的兩處fc-wp-demo,随意修改名稱。

2.修改fc-wordpress-domain内的DomainName,後面加上你自己的域名。比如

「72變的雲開發」serverless搭建幾乎零成本的typecho部落格開始前準備typecho(新站)到此結束成本計算

同步并部署

先安裝funcraf,打開安裝好的gitbash。輸入以下指令

npm install @alicloud/fun -g      

在/root/fc-wordpress/fc-web-sqlite檔案夾中,執行以下指令

fun nas init
fun nas info
fun nas sync 
fun deploy      

配置完成

通路站點安裝即可,如果要遷移資料庫請翻到下面

funcraf指令(重要)

fun nas rm -r nas://fc-wp-mysql/mnt/auto/wordpress

删除WordPress目錄

fun nas cp nas:///mnt/auto/wordpress/ D:

複制NAS的WordPress目錄到本地的D盤

typecho(新站)到此結束

如果需要遷移資料請看下面

typecho資料庫遷移到serverless(包含本地初始化和不同資料庫轉換)

如果不需要遷移資料不要亂碰

本地初始化資料庫

首先你的系統需要PHP環境,到

https://windows.php.net/download/

下載下傳,選擇Thread Safe下的ZIP下載下傳。然後解壓到Windows/system32,省去配置環境

1.在php的檔案夾下,複制一份php.ini-development檔案重命名為php.ini,記事本打開。搜尋extension_dir,把;extension_dir = "./"改為extension_dir = "./ext",分号;表示注釋,需要去掉。搜尋extension=pdo_sqlite,去掉注釋。

3.修改hosts檔案,把上面解析到endpoint的域名指向127.0.0.1,然後進fc-web-sqlite.fun\nas\auto-default\fc-wp-sqlite\wordpress目錄下執行

php -S 0.0.0.0:80

指令本地安裝好typecho和SQLite3資料庫的連結,完成後在fc-wordpress\fc-web-sqlite\.fun\nas\auto-default\fc-wp-sqlite\wordpress\usrusr檔案夾下看到一個.db的資料庫檔案,随意命名,回到上一級目錄打開config.inc.php檔案,找到定義資料庫參數這一段,把它改為 'file' => '../usr/名字.db',。

4.複制一份config.inc.php檔案改名為config.inc-sqlite3.php,打開它,把資料庫的指向路徑修改為 'file' => './usr/名字.db',,跟前面的相比少了個點号。

5.在打開index.php檔案把config.inc.php替換為config.inc-sqlite3.php

資料遷移

首先下載下傳并安裝MysqlToSqlite(百度就有)

打開後填好連接配接資訊,然後點ok

連上MySQL并設定好SQLite的儲存位置後點選OK再選擇All Table

然後選擇需要轉換的Typecho MySQL資料條,建議全選,免得出錯;

如果中間提示需要添加字段那就用navicat 15 for sqlite給sqlite添加字段

最後要把原來usr檔案夾所有東西複制到目前的usr檔案夾,

重構搜尋索引

因為serverless沒法開重寫功能,導緻搜尋不到文章了,研究了一下發現,我隻要重新釋出就可以搜尋到了,是以我用

fun nas cp nas:///mnt/auto/wordpress/ D:

把資料庫給拿回來,用navicat15 for sqlite,建立一個查詢三條指令

UPDATE typecho_contents SET type='post_draft'
UPDATE typecho_contents SET template=NULL
UPDATE typecho_contents SET password=NULL      

運作并儲存

執行

fun nas sync

打開網站可以看到所有文章都到草稿箱了

再次打開navicat 15 建立查詢

UPDATE typecho_contents SET type='post'

fun nas sync

打開網站搜尋可用了

成本計算

函數計算

每月前 100 萬次函數調用免費, 每月前 400000(GB*秒) 費用免費。公網流量0.5元/gb。

月通路五萬次的網站一般每月不超過2元.

nas存儲

低于1g的檔案,不需要付費,超出1gb的1.85元/GiB/月

日志服務

如果不需要日志服務可以直接删掉日志服務,此處可免費