容器化部署 — GCP教學

更新於 發佈於 閱讀時間約 7 分鐘

※ Google Cloud Platform (GCP):

網址:https://cloud.google.com/

raw-image

※ 進入控制台:建立專案

raw-image

※ 第一步設立帳單:

raw-image

※ 第二步管理帳單帳戶:

一個帳單帳戶就是一個付款方式。

raw-image

※ 建立付款帳戶:

raw-image
raw-image

※ 新增專案:

raw-image
raw-image

※ 租用虛擬主機:Compute Engine(GCE)

作用管理專案裡面所有的虛擬主機

raw-image

※ 建立一個虛擬主機:

raw-image

內容說明:

機器設定:設定虛擬主機名稱。

區域設定:虛擬主機位置(asia-east1台灣)。

可用區設定:機房區塊(不限)。

  • CPU使用類型:省錢方案
raw-image


  • 觀測能力:顯示裝置可以啟用來做螢幕畫面的擷取和錄製
raw-image


  • 作業系統和儲存空間:開機硬碟
raw-image

進入變更硬碟大小內容:

1.作業系統

2.服務本體(程式碼)

  • 開機硬碟類型:選擇預設
raw-image
  • 安全性:權限設定
raw-image
  • 網路連線:防火牆

防火牆需要允許 HTTP(通常為埠 80)和 HTTPS(通常為埠 443)的流量,所以兩項都要開啟,才能讓伺服器能夠正常運作並供用戶存取。

raw-image
  • 預估每月費用:
raw-image
  • 主機成功建立:外部IP就是公網IP
raw-image

※ 透過自己的電腦去做SSH的連線:

  • 查詢公鑰指令:
cat .ssh/id_rsa.pub
raw-image


  • 新增公鑰:
raw-image


  • 貼上公鑰位置:
raw-image
  • 測試連線:
raw-image
ssh 34.81.84.66
  • 第一次連線出現Alarm訊息:輸入 yes來繼續連線
raw-image
  • 連線成功:
raw-image

※ VS CODE安裝擴充套件:Remote - SSH

目的:透過 SSH(Secure Shell)連線到遠端主機,進行遠端開發工作。

raw-image

ngrok 的代理監控儀表板:顯示並管理你目前使用的 ngrok agent session。

raw-image



※ 部署程式碼到Google Cloud Platform (GCP):

1.安裝Node.Js:透過package Manager安裝適用個人電腦的版本。

網址:https://nodejs.org/zh-tw/download

  • 使用具有sudo權限的用戶在Ubuntu系統中安裝Node.js的步驟:
//更新套件索引:
sudo apt update
  • 從NodeSource存儲庫安裝Node.js(以下以Node.js 16版為例):
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
raw-image

2.安裝Node.Js結果:

node -v
npm -v
raw-image

※ 部署程式碼到Google Cloud Platform (GCP)常用方法:

  1. 使用 Git(適用於版本控制的專案)。
  2. 使用 FTP/SFTP 客戶端工具。
  3. 使用 SCP (Secure Copy Protocol):SCP 是一種透過 SSH 安全傳輸檔案的方法。

※ 跳出目前 SSH 環境:

在終端機中輸入exit ,退出 SSH 環境並回到本地環境。

exit

※ 使用 SCP部署程式碼到Google Cloud Platform (GCP):

1.刪除node_modules:

可以減少檔案大小,讓搬遷更方便(例如透過 SCP 或 Git)。

rm -rf node_modules

搬移完成後,在新的環境中重新生成 node_modules

npm install

2.確認本地資料夾位置:

 cd payment//(進入專案資料夾)
pwd//(確認專案資料夾路徑)
/c/Users/user/payment
ls//(列出目前目錄中的檔案和資料夾)
server/
raw-image

3.複製本地資料夾:

scp -r C:/Users/user/payment/server carola1408@35.221.175.221:~/

程式碼解說:

1.如果伺服器上的目標路徑還沒有特定的資料夾,您可以在 SCP 命令中直接使用 「:~」,這表示將檔案傳送到伺服器上 遠端使用者的主目錄。

2.建立目標路徑:

  • 登入伺服器:
ssh carola1408@35.221.175.221
  • 建立目錄:
mkdir -p ~/payment //建立專案資料夾
  • 執行 SCP 命令將檔案傳送到該目錄:
scp -r C:/Users/user/payment/server carola1408@35.221.175.221:~/payment/

上傳成功結果:

raw-image

上傳伺服器成功結果:

登入伺服器:

ssh carola1408@35.221.175.221

檢查目標目錄的內容:

ls -l ~/server
raw-image

※ 安裝node_modules套件:

cd server //進入資料夾​
npm install

※ 驗證安裝是否成功:

ls -l
raw-image

※ 更改端口設定:進入虛擬私有雲網路

  • 原因:新建立的虛擬主機,因為有防火牆的設定導致只有80和43端口才可以使用,8080端口並不在允許端口裡面,所以不能使用。
  • 解決方式:進入虛擬私有雲網路。
raw-image
  • 進入防火牆:
raw-image
  • 建立防火牆規則:
raw-image
  • 內容設定範例:
raw-image
raw-image
  • 連線成功:
raw-image

※ 避免 SSH 連線中斷:使用 Tmux

安裝TmuxUbuntu

sudo apt-get install tmux

啟動 Tmux 會話

tmux

開啟一個新會話並命名:

tmux new -s mysession

斷開 SSH 但保持進程運行(使用 Ctrl+B,然後按 D)。

重新連線後恢復 Tmux 會話:

tmux attach -t mysession

※ 結論:

我們利用最基本的概念來完成遠端主機部署的示範。首先,透過 Google Cloud Platform (GCP) 建立一個專案,接著租用一台主機並配置防火牆以確保安全性。最後,只需將資料複製到遠端主機,便能順利運行系統。這僅僅是一個範例,提供操作流程的初步展示。



留言
avatar-img
留言分享你的想法!
avatar-img
奧莉薇走在成為後端工程師之路上
18會員
141內容數
全端網頁開發專業知識分享
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
※ Google Cloud Platform (GCP): 網址:https://cloud.google.com/ ※ 進入控制台:建立專案 ※ 第一步設立帳單: ※ 第二步管理帳單帳戶: 一個帳單帳戶就是一個付款方式。 ※ 建立付款帳戶: ※ 新增專案: ※ 租用虛擬主機:Co
Thumbnail
※ Google Cloud Platform (GCP): 網址:https://cloud.google.com/ ※ 進入控制台:建立專案 ※ 第一步設立帳單: ※ 第二步管理帳單帳戶: 一個帳單帳戶就是一個付款方式。 ※ 建立付款帳戶: ※ 新增專案: ※ 租用虛擬主機:Co
Thumbnail
Cloud Run 允許您指定哪些修訂版應該接收流量,並指定不同版本接收的流量比例。Revisions 也能使您能夠回滾到先前的版本、逐步增加新版本的流量比例,或在多個修訂版之間拆分流量。
Thumbnail
Cloud Run 允許您指定哪些修訂版應該接收流量,並指定不同版本接收的流量比例。Revisions 也能使您能夠回滾到先前的版本、逐步增加新版本的流量比例,或在多個修訂版之間拆分流量。
Thumbnail
Google 提供了免費的雲端服務 Google Apps Script (GAS) ,我們可以撰寫一些簡易的程式APP,串接其他 Google 雲端服務 如 Google Docs ,Sheets …,就能夠幫助我們利用雲端硬碟做日常工作
Thumbnail
Google 提供了免費的雲端服務 Google Apps Script (GAS) ,我們可以撰寫一些簡易的程式APP,串接其他 Google 雲端服務 如 Google Docs ,Sheets …,就能夠幫助我們利用雲端硬碟做日常工作
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
本文介紹如何在GCP上使用Terraform建立CloudFlare DNS解析和模組化。通過閱讀本文,可以瞭解如何設置Terraform建立CloudFlare DNS解析以及取得GCS上的Terraform state file並透過Terraform建立CloudFlare DNS解析的步驟。
Thumbnail
本文介紹如何在GCP上使用Terraform建立CloudFlare DNS解析和模組化。通過閱讀本文,可以瞭解如何設置Terraform建立CloudFlare DNS解析以及取得GCS上的Terraform state file並透過Terraform建立CloudFlare DNS解析的步驟。
Thumbnail
本篇文章將描述如何產生GCP的服務帳戶金鑰,並利用該金鑰在DBeaver或是其他透過支援JDBC的軟體連接到BigQuery服務。
Thumbnail
本篇文章將描述如何產生GCP的服務帳戶金鑰,並利用該金鑰在DBeaver或是其他透過支援JDBC的軟體連接到BigQuery服務。
Thumbnail
在企業內部環境中,對服務和API的安全且高效率的存取至關重要。本文探討了GCP提供的 Private GoogleAccess、Private Service Connect、Serverless VPC Access、Private Services Access 的區別,以及它們如何使組織受益。
Thumbnail
在企業內部環境中,對服務和API的安全且高效率的存取至關重要。本文探討了GCP提供的 Private GoogleAccess、Private Service Connect、Serverless VPC Access、Private Services Access 的區別,以及它們如何使組織受益。
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
教大家如何使用 google colab 讀取雲端硬碟中的資料
Thumbnail
教大家如何使用 google colab 讀取雲端硬碟中的資料
Thumbnail
gRPC是一款跨平台、高性能的RPC框架,他可以在任何環境下執行,主要用於後端為服務開發。在用戶端應用程式中,可以像本地物件那樣呼叫遠端伺服器的方法,因此可以創建出分散式應用。 使用 到https://github.com/protocolbuffers/protobuf/releases下
Thumbnail
gRPC是一款跨平台、高性能的RPC框架,他可以在任何環境下執行,主要用於後端為服務開發。在用戶端應用程式中,可以像本地物件那樣呼叫遠端伺服器的方法,因此可以創建出分散式應用。 使用 到https://github.com/protocolbuffers/protobuf/releases下
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News