ionic+angular+cordova 熱更新 - 建置伺服器環境
一、前言
一般若只是為研究、測試階段的專案,通常可藉由別人搭建好的伺服器作為進行資料的交換或存取來使用。在正式開發的專案,由於將開發中的程式碼上傳至別人搭建的伺服器,多少會有些不妥以及風險!熱更新也是一樣,所以本文首要會先介紹如何使用code-push-server搭配MySQL建置伺服器。
二、事前準備
• OS系統:Mac
• Node.js:官網下載頁面
• MySQL:官網下載頁面
• code-push-server:開啟終端器並執行npm install code-push-server -g指令
三、安裝MySQL
進入mysql官網下載頁面,選擇dmg格式的檔案下載。
由於之前已有下載過安裝檔,所以目前使用的版本為v5.7.28。
下載完成後雖然只要一直點擊繼續就可安裝完成,但這邊先別急著安裝,請先往下看。
很重要!很重要!很重要!所以說了三次
有一點需要特別注意:在安裝的最後流程中,安裝成功後即會跳出一個彈跳視窗,而上面所顯示的資訊提示已產生root的預設密碼,由於這部分很容易沒注意到就直接點擊OK了。
四、忘記密碼設置以及開啟、停止MySQL Server
假如真的沒有保存到密碼的話,也不用過於擔心,還是有可以補救的方法。在安裝好MySQL時,首先到系統偏好設定找到MySQL的圖示。
點擊之後就會進入到MySQL設定介面,預設是停止MySQL Server運作,所以需要手動開啟。如果是忘記密碼的話,建議先不要將MySQL開啟。
接著,就直接開啟終端器忘記密碼重設的指令。因為MySQL Server尚未開啟,所以就直接輸入指令:
1. 切換至MySQL的目錄
cd /usr/local/mysql/bin/
2. 取得最高權限
sudo su
3.無視驗證功能
./mysqld_safe --skip-grant-tables &
4.進入MySQL命令提示列
./mysql
5.設定新密碼
UPDATE mysql.user SET authentication_string=PASSWORD('新密碼') WHERE User='root';
這步驟輸入完成後,按下Enter,可以看到回傳Query OK等等的訊息,代表已成功設置新密碼。
五、MySQL環境變量配置
更改密碼之後,已可以進入到MySQL命令提示列中,在終端器中輸入指令:mysql -uroot -p。
上圖中顯示-bash: mysql: command not found,這是因為該指令會搜尋其底下的可執行程序的目錄,但Mac默認的路徑為/usr/local/mysql/bin,這部分有比較簡便的方法處理,不過一旦關閉終端器就會需要重新輸入指令,所以這邊直接選擇將問題解決。
一樣開啟終端器並輸入指令:sudo open .bash_profile。按下Enter後會開啟.bash_profile檔案,在檔案中輸入:export PATH=${PATH}:/usr/local/mysql/bin,輸入完畢儲存後將終端器關閉再重新開啟。
這時,再次輸入指令:mysql -uroot -p,可以看到終端器畫面中顯示"Enter password:",輸入密碼就可以進入到MySQL命令列中。
六、初始化資料庫
在事前準備標題中,已有提到需要安裝code-push-server,如果已有安裝的話則繼續往下個步驟執行;若未安裝請先將這部分安裝起來。
接著,安裝完code-push-server可於該目錄/usr/local/lib/node_modules/code-push-server/config/config.js並開啟檔案。
開啟檔案後填寫db裡的password。
比較需要注意的是local裡的storageDir。當安裝code-push-server時,當初始化資料庫時若找不到該目錄資料夾則不會自動創建,建議這部分手動修改其目錄位置。下圖中的目錄為已修改過後的目錄位置。
完成之後就可以初始化資料庫了,於終端器中輸入如下指令:
code-push-server-db init -dbhost "127.0.0.1" --dbport "3306" --dbuser "root" --dbpassword "你的密碼"
這邊也要注意一點:初始化資料庫指令的配置與config.js裡的配置需一致,而每更改一次config.js裡的配置需重新啟動code-push-server。