# Compute Engine

## init

設定 **名稱** 區域 (伺服器位置) 機器設定 (CPU RAM) 開機磁碟 (這邊有分 作業系統/應用程式/自訂 映像檔，還有快照&現有磁碟)

身分及API存取權 (設定同個 project 的都允許 or 個別API設定存取權)

防火牆 看要開啟 80 還是 443

## 連線到後端機器

建立完實體後，使用 google cloud shell 去 SSH 後端VM

```
gcloud compute --project <projectID> ssh --zone <backend-zone> <backend-name>
```

## 安裝後端資料庫

`sudo apt-get update`

執行下面這行，他會詢問是否繼續進行，輸入 **Y**

`sudo apt-get install mongodb`

## 執行資料庫

因為 MongoDB 安裝完成後，會直接執行，所以需要先停止服務，才能變更執行方式。

`sudo service mongodb stop`

為 MongoDB 建立目錄 `sudo mkdir $HOME/db`

然後將 MongoDB 的路徑指到該目錄，並將 port 設定為 80 `sudo mongod --dbpath $HOME/db --port 80 --fork --logpath /var/tmp/mongodb`

## 連線到前端機器

建立完實體後，使用 google cloud shell 去 SSH 前端VM

```
gcloud compute --project <projectID> ssh --zone <frontend-zone> <frontend-name>
```

## 安裝依附元件

`sudo apt-get update`

`curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -`

`sudo apt-get install git nodejs`

## 安裝並執行前端網路應用程式

複製範例應用程式並安裝應用程式的依附元件。 clone 下來 google 的範例前端程式 `git clone https://github.com/GoogleCloudPlatform/todomvc-mongodb.git`

先進入 clone 下來的目錄，安裝 npm 的套件 (?) `cd todomvc-mongodb; npm install`

//待查詢 `sed -i -e 's/8080/80/g' server.js`

使用以下指令，輸入您所建立的執行個體內部 IP 位址，以啟動待辦事項網路應用程式。 `sudo nohup nodejs server.js --be_ip <backend-internal-ip> --fe_ip <frontend-internal-ip> &`

`exit`

請查看前端執行個體旁的外部 IP 欄，並透過所列的 IP 位址前往您的網路伺服器。
