---
# System prepended metadata

title: 最簡易的GCP建立github上的node專案
tags: [deploy, GCP, nodejs, IaaS, VM]

---

## 建立一個GCP帳號
需要輸入信用卡號。

## 建立VM
1.左欄menu選擇“Computer Engine”
2.點擊“建立執行個體”
![](https://hackmd.io/_uploads/rkAmJzLch.jpg)

3.中間設定都使用預設值即可。
![](https://hackmd.io/_uploads/S1otKtSqh.png)
4.“建立”

## SSH連線 安裝NVM
1.“在瀏覽器視窗中開啟”SSH連線
![](https://hackmd.io/_uploads/BJjg1z852.jpg)

2.建立資料夾(optional)
```
$mkdir project
```
3.至資料夾底下(optional)
```
$cd project
```
4.安裝nvm
此安裝指令會下載nvm最新版本，若要指定版本，請在URL中指定相應版本。
```
~/project$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
```

5.安裝完nvm後，可關掉終端機重新啟動，或執行以下指令:
```
~/project$ source ~/.nvm/nvm.sh
```

6.確認nvm如實安裝
輸出版本號則代表安裝成功。
```
~/project$ nvm -v
```

## 安裝node

1.使用nvm安裝node
```
~/project$ nvm install node
```

2.使用nvm切換node版本
切換本版前，須先安裝欲使用之node版本
```
~/project$ nvm install 16.20.0
```

3.切換node版本
```
~/project$ nvm use 16.20.0
```

## 下載git專案
1.安裝git
詢問是否繼續，選擇Y。
```
~/project$ sudo apt-get install git
```
2.確認安裝成功
```
~/project$ git -v
```
3.clone專案
```
~/project$ git clone https://github.com/YangYgYang/chatRoom.git
```
4.至專案目錄中，啟動專案
```
~/project/$ cd chatRoom
```
```
~/project/chatRoom$ npm install 
```

```
~/project/chatRoom$ node app.js
```


## 開啟防火牆
1.點選“設定防火牆規則”
![](https://hackmd.io/_uploads/Bk2K0ZI93.jpg)
2.點選“建立防火牆規則”，“目標”建議指定為該專案之標記，全開(網路中的所有執行各體)較不安全。
![](https://hackmd.io/_uploads/Hkiwl5B92.png)
3.來源IPv4，設定0.0.0.0
![](https://hackmd.io/_uploads/HJwyW5S9h.png)
4.TCP通訊埠，設定3000
![](https://hackmd.io/_uploads/SJp4-cSch.png)

完成後，即可成功部署。

## VM上背景執行程式

1.安裝套件 forever

```
~/project$ npm install forever -g
```
2.執行forever
```
~/project$ forever start app.js
```

關掉terminal後，程式forever執行中。

[其他forever指令](https://andy6804tw.github.io/2018/01/17/api-forever/)





