We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
此次部署主要分三階段 購買建置雲端虛擬主機(VM)、建置 Ubuntu 主機環境、MySQL 安裝及連線
LAMP 系統(Linux 作業系統、Apache 網頁伺服器、MySQL 資料庫,PHP 程式語言) 類似的執行環境包括 WAMP(Windows OS)、MAMP(Mac OS)等等 其中在相容及整合性上又以 Linux 作業系統最為穩定安全
而 Ubuntu 是基於 Debian 發展而來的 Linux 作業系統 也是這次選擇建置主機的環境系統
GCP(Google Cloud Platform) 提供眾多服務,類似的部署服務又包含 GCE(Google Compute Engine)、GAE(Google App Engine)、GKE(Google Kubernetes Engine 類似於 Docker 原理此不詳述)
GCE 是屬於 IAAS(Infrastructure as a Service),向 Google 買硬體,自己從頭到尾建置主機系統,有極大的調整彈性,但相對的就需要更清楚了解系統環境,AWS Elastic Compute 也屬於這類。 也是這次部署的方法
GAE 是屬於 PAAS(Platform as a Serivce),Google 幫你建置好環境,只管將專案丟上去執行即可。Heroku、AWS Elastic Beanstalk 也屬於這類。 使用 GAE 可以去連結 Cloud SQL(Google 提供的 MySQL 服務)、Cloud Storage 達成完整的動態網頁部署。 官方文件有手把手的測試部署教學
有綁定帳單的 Google 帳號即可使用 GCP 服務
左上 導覽選單 > Marketplace > 下滑至作業系統列 選擇 Ubuntu
導覽選單
Marketplace
Ubuntu
(若直接建置 Compute Engine VM 執行個體,系統設定的映象檔會是 Debian,一樣可以建置 LAMP,但會與以下的指令操作不同)
若是第一次使用 GCP,Google 有提供 300 美金的折抵金,足夠選用基礎專案折抵費用達一年。 而 Google 有另外提拱永久 免費專案,在一定的硬體規格及使用限制下 可以永久免費的使用 GCP。
可以選擇 asia-east1 台灣的機房,靠近機房傳輸速度較快。 若以永久免費方案的限制下,只可選擇 us-east1、us-west1 和 us-central1
asia-east1
us-east1
us-west1
us-central1
若選擇最基礎陽春的規格 系列 N1 類型 f1-micro 可以永久完全免費 但等等要設定 LAMP 環境及安裝 phpmyadmin 會跑太久,先選擇稍微多一點點核心跟記憶體的規格 多少 CPU 及記憶體可以完全客製化且可以隨時修改,右上有費用估算 (ex. 試用一個月 若覺得 CPU 記憶體實際使用的資源效能太高或太低 ,則可以考慮調整,需求多少選配多少)
系列 N1
類型 f1-micro
1.導覽選單 > VPC 網路 > 外部 IP 位置 > 將該 VM 的類型從暫時改為靜態
VPC 網路
外部 IP 位置
靜態
2.點選左側防火牆 > 上方建立防火牆規則
防火牆
建立防火牆規則
IP 來源設置 0.0.0.0/0(允許所有範圍),tcp 設定 3306 (MySQL連結埠)
0.0.0.0/0
3306
SSH連線至GCP VM 有三種方法,建議三種方法都實際操作使用
1.GCP 內建的 SSH 瀏覽器環境,功能優化齊全,還可以上傳下載檔案 使用體驗佳, 不用另外安裝且免用金鑰 出門在外任何電腦都可以馬上連線,缺點是在自己電腦內頻繁使用 需要再進入 GCP 且使用每次連線等待時間稍嫌麻煩
2.下載並安裝 Google Cloud SDK 執行 SSH 連線,優點:金鑰自動夾帶、桌面化程式連線速度快。
3.使用 CMD 或其他 terminal,ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP,要先設置金鑰檔案,優點:桌面化程式操作介面統一。
ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
回到 Compute Engine 點選要執行的 VM 的 SSH
Compute Engine
SSH
進入 GCP 內建的 SSH 瀏覽器環境,可以看到 VM名稱、VM 的使用狀態、使用者等等資訊
sudo apt update && sudo apt upgrade
sudo 是以系統身分執行,apt 是套件管理工具,都是 linux 常見的指令
sudo apt install tasksel
Tasksel 是一款方便創建、刪除、修改執行各項任務的軟體工具
sudo tasksel install lamp-server
安裝設定完成後,就可以在瀏覽器網址列中輸入 Compute Engine 頁面中的該 VM 外部 IP ,靜態網頁部署成功
外部 IP
部署 AWS EC2 遠端主機 + Ubuntu LAMP 環境 + phpmyadmin 安裝 LAMP Server + phpMyAdmin 在 Linux 系統上輕鬆架設網站
若有碰到相同的檔案在本地端的伺服器能跑,但在虛擬主機上卻不能 可能關係到 PHP 設定檔的不同 或是其他未顯示的錯誤狀況
可以到此路徑的檔案去看錯誤訊息 debug /var/log/mysql/error.log
/var/log/mysql/error.log
針對不同問題可以進到這路徑的檔案修改 /etc/php/7.2/apache2/php.ini
/etc/php/7.2/apache2/php.ini
phpmyadmin 安裝好後即可使用瀏覽器登入操作資料庫, 但若是要使用其他資料庫軟體連線,仍須設定主機防火牆,防火牆設定可以參考 一小時完成 VPS (Virtual Private Server) 部署 如何遠端連接虛擬主機上的 mySQL 資料庫
sudo su 若要跳出 輸入 exit or ctrl + D
sudo su
exit
ctrl + D
telnet 外部IP 測試連接埠 如 telnet 35.11.22.33 3306 測試MySQL連接埠是否開通
telnet 外部IP 測試連接埠
telnet 35.11.22.33 3306
金鑰產生及連結GCP可參考 [GCP] Upload file via SFTP
進去後,網站前端顯示的檔案會放在根目錄的 /var/www/html ,所有部署就大功告成🎉🎉🎉
/var/www/html
此時若沒有權限編輯移動/var/www/html 中檔案,有幾種方式可以解決 更改資料夾或是檔案的權限 sudo stat -c %a /var/www/html 查看權限 sudo chmod 777 /var/www/html 將權限更改為最高 777 (會有資安疑慮)
sudo stat -c %a /var/www/html
sudo chmod 777 /var/www/html
下載 Google Cloud SDK 詳細操作可以參考 [GCloud] 使用 gcloud 連線到 Google Cloud Platform 上的 VM
使用 Google Cloud SDK SSH 連線時,會以本機端的使用者身分進入主機 本機端或其他連線、瀏覽器連線都是以各自的使用者身分進入主機、預設情形下使用者的權限互不相干擾
本機端的使用者身分
Google Cloud SDK 會自動連網到瀏覽器做身分確認 並且會在 ~/.ssh 目錄下自動生成公私鑰 google_compute_engine(且自動聯動主機)
~/.ssh
google_compute_engine
若有這個金鑰,使用 FileZilla SFTP 連線時 就不用另外下載使用 PuTTYgen 另外生成金鑰、手動設定 GCP 中繼資料,直接夾帶 ~/.ssh 目錄下自動生成的金鑰即可登入(使用者記得改成本地端的使用者名稱)
ssh -i PATH_TO_PRIVATE_KEY EXTERNAL_IP 輸入 ssh -i 金鑰檔案 外部IP 即可連線至主機
ssh -i PATH_TO_PRIVATE_KEY EXTERNAL_IP
ssh -i 金鑰檔案 外部IP
Google雲端平台 實戰架設LAMP網站主機 我的GCP學習日誌 LAMP 安裝方式 Google Cloud Platform 架站轉移教學
GCP-Rails與GCE、GAE、GKE Iaas、Pass、Saas
[GCP] Upload file via SFTP [GCloud] 使用 gcloud 連線到 Google Cloud Platform 上的 VM 【筆記】解決GCP VM無法SSH的問題 Google Cloud Platform雲端主機!SFTP金鑰產生與連線設定教學(FileZilla) Google Cloud Platform(GCP) MySQL Workbench 連線設定 Google Cloud CLI & SDK Setup 3 Ways to Solve Sftp or Ftp "Permission denied" on Google Cloud
Connecting from App Engine standard environment to Cloud SQL [Day-41] Google Cloud Platform(3)-建立SQL雲端資料庫 筆記-於GCP上建立Mysql-server
部署 AWS EC2 遠端主機 + Ubuntu LAMP 環境 + phpmyadmin 一小時完成 VPS (Virtual Private Server) 部署 如何遠端連接虛擬主機上的 mySQL 資料庫 紀錄 部屬 AWS EC2 雲端主機 + LAMP Server + phpMyAdmin
The text was updated successfully, but these errors were encountered:
居然是用 GCP!講解好完整,小技巧實用推。 ssh 連線應該也可以用 PuTTY,設定連線時有 GUI 輔助我覺得蠻讚的。 順便想問小技巧那個摺疊是直接用 <details> 配合 <summary> tag 嗎,好像沒看到 markdown 有提供這個語法?
<details>
<summary>
Sorry, something went wrong.
@torai55 對,就是<details> <summary>,也是無意間看到其他人這樣用覺得好神奇 偷學起來~
No branches or pull requests
此次部署主要分三階段
購買建置雲端虛擬主機(VM)、建置 Ubuntu 主機環境、MySQL 安裝及連線
開始之前可以先大致了解部署流程及簡單系統架構
LAMP 系統(Linux 作業系統、Apache 網頁伺服器、MySQL 資料庫,PHP 程式語言)
類似的執行環境包括 WAMP(Windows OS)、MAMP(Mac OS)等等
其中在相容及整合性上又以 Linux 作業系統最為穩定安全
而 Ubuntu 是基於 Debian 發展而來的 Linux 作業系統
也是這次選擇建置主機的環境系統
GCP(Google Cloud Platform) 提供眾多服務,類似的部署服務又包含
GCE(Google Compute Engine)、GAE(Google App Engine)、GKE(Google Kubernetes Engine 類似於 Docker 原理此不詳述)
GCE 是屬於 IAAS(Infrastructure as a Service),向 Google 買硬體,自己從頭到尾建置主機系統,有極大的調整彈性,但相對的就需要更清楚了解系統環境,AWS Elastic Compute 也屬於這類。
也是這次部署的方法
GAE 是屬於 PAAS(Platform as a Serivce),Google 幫你建置好環境,只管將專案丟上去執行即可。Heroku、AWS Elastic Beanstalk 也屬於這類。
使用 GAE 可以去連結 Cloud SQL(Google 提供的 MySQL 服務)、Cloud Storage 達成完整的動態網頁部署。
官方文件有手把手的測試部署教學
一、購買建置雲端虛擬主機(VM)
有綁定帳單的 Google 帳號即可使用 GCP 服務
1.建立新專案
2.選購虛擬主機及作業系統
左上
導覽選單
>Marketplace
> 下滑至作業系統列 選擇Ubuntu
(若直接建置 Compute Engine VM 執行個體,系統設定的映象檔會是 Debian,一樣可以建置 LAMP,但會與以下的指令操作不同)
若是第一次使用 GCP,Google 有提供 300 美金的折抵金,足夠選用基礎專案折抵費用達一年。
而 Google 有另外提拱永久 免費專案,在一定的硬體規格及使用限制下 可以永久免費的使用 GCP。
1.設定 VM 名稱
2.設定主機區域
可以選擇
asia-east1
台灣的機房,靠近機房傳輸速度較快。若以永久免費方案的限制下,只可選擇
us-east1
、us-west1
和us-central1
3.設定硬體規格
若選擇最基礎陽春的規格
系列 N1
類型 f1-micro
可以永久完全免費但等等要設定 LAMP 環境及安裝 phpmyadmin 會跑太久,先選擇稍微多一點點核心跟記憶體的規格
多少 CPU 及記憶體可以完全客製化且可以隨時修改,右上有費用估算
(ex. 試用一個月 若覺得 CPU 記憶體實際使用的資源效能太高或太低 ,則可以考慮調整,需求多少選配多少)
4.勾選HTTP/HTTPS
3.設置靜態 IP 及防火牆
1.
導覽選單
>VPC 網路
>外部 IP 位置
> 將該 VM 的類型從暫時改為靜態
2.點選左側
防火牆
> 上方建立防火牆規則
IP 來源設置
0.0.0.0/0
(允許所有範圍),tcp 設定3306
(MySQL連結埠)二、建置 Ubuntu 主機環境
藉由 SSH 連線至主機進行相關操作
SSH連線至GCP VM 有三種方法,建議三種方法都實際操作使用
1.GCP 內建的 SSH 瀏覽器環境,功能優化齊全,還可以上傳下載檔案 使用體驗佳,
不用另外安裝且免用金鑰 出門在外任何電腦都可以馬上連線,缺點是在自己電腦內頻繁使用 需要再進入 GCP 且使用每次連線等待時間稍嫌麻煩
2.下載並安裝 Google Cloud SDK 執行 SSH 連線,優點:金鑰自動夾帶、桌面化程式連線速度快。
3.使用 CMD 或其他 terminal,
ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
,要先設置金鑰檔案,優點:桌面化程式操作介面統一。回到
Compute Engine
點選要執行的 VM 的SSH
進入 GCP 內建的 SSH 瀏覽器環境,可以看到 VM名稱、VM 的使用狀態、使用者等等資訊
1.檢查系統並更新
sudo apt update && sudo apt upgrade
sudo 是以系統身分執行,apt 是套件管理工具,都是 linux 常見的指令
2.安裝 Tasksel
sudo apt install tasksel
Tasksel 是一款方便創建、刪除、修改執行各項任務的軟體工具
3.用 Tasksel 下載 lamp-server
sudo tasksel install lamp-server
安裝設定完成後,就可以在瀏覽器網址列中輸入
Compute Engine
頁面中的該 VM外部 IP
,靜態網頁部署成功三、MySQL 安裝及連線設定
1.MySQL 安裝設定可以參考
部署 AWS EC2 遠端主機 + Ubuntu LAMP 環境 + phpmyadmin
安裝 LAMP Server + phpMyAdmin 在 Linux 系統上輕鬆架設網站
小技巧
若有碰到相同的檔案在本地端的伺服器能跑,但在虛擬主機上卻不能
可能關係到 PHP 設定檔的不同 或是其他未顯示的錯誤狀況
可以到此路徑的檔案去看錯誤訊息 debug
/var/log/mysql/error.log
針對不同問題可以進到這路徑的檔案修改
/etc/php/7.2/apache2/php.ini
2.設定防火牆及連接埠
phpmyadmin 安裝好後即可使用瀏覽器登入操作資料庫,
但若是要使用其他資料庫軟體連線,仍須設定主機防火牆,防火牆設定可以參考
一小時完成 VPS (Virtual Private Server) 部署
如何遠端連接虛擬主機上的 mySQL 資料庫
小技巧
以最高權限 root 執行
sudo su
若要跳出 輸入
exit
orctrl + D
測試連接埠開通與否
telnet 外部IP 測試連接埠
如
telnet 35.11.22.33 3306
測試MySQL連接埠是否開通3.使用 FileZilla 上傳檔案
金鑰產生及連結GCP可參考
[GCP] Upload file via SFTP
進去後,網站前端顯示的檔案會放在根目錄的
/var/www/html
,所有部署就大功告成🎉🎉🎉此時若沒有權限編輯移動
/var/www/html
中檔案,有幾種方式可以解決更改資料夾或是檔案的權限
sudo stat -c %a /var/www/html
查看權限sudo chmod 777 /var/www/html
將權限更改為最高 777 (會有資安疑慮)另一種 SSH 連線方式: Google Cloud SDK
下載 Google Cloud SDK
詳細操作可以參考 [GCloud] 使用 gcloud 連線到 Google Cloud Platform 上的 VM
使用 Google Cloud SDK SSH 連線時,會以
本機端的使用者身分
進入主機本機端或其他連線、瀏覽器連線都是以各自的使用者身分進入主機、預設情形下使用者的權限互不相干擾
Google Cloud SDK 會自動連網到瀏覽器做身分確認
並且會在
~/.ssh
目錄下自動生成公私鑰google_compute_engine
(且自動聯動主機)若有這個金鑰,使用 FileZilla SFTP 連線時
就不用另外下載使用 PuTTYgen 另外生成金鑰、手動設定 GCP 中繼資料,直接夾帶
~/.ssh
目錄下自動生成的金鑰即可登入(使用者記得改成本地端的使用者名稱)也可以藉由這個自動生成的金鑰,使用其他 terminal SSH 連線至主機
ssh -i PATH_TO_PRIVATE_KEY EXTERNAL_IP
輸入
ssh -i 金鑰檔案 外部IP
即可連線至主機參考資料
Google雲端平台 實戰架設LAMP網站主機
我的GCP學習日誌 LAMP 安裝方式
Google Cloud Platform 架站轉移教學
GCP-Rails與GCE、GAE、GKE
Iaas、Pass、Saas
[GCP] Upload file via SFTP
[GCloud] 使用 gcloud 連線到 Google Cloud Platform 上的 VM
【筆記】解決GCP VM無法SSH的問題
Google Cloud Platform雲端主機!SFTP金鑰產生與連線設定教學(FileZilla)
Google Cloud Platform(GCP) MySQL Workbench 連線設定
Google Cloud CLI & SDK Setup
3 Ways to Solve Sftp or Ftp "Permission denied" on Google Cloud
Connecting from App Engine standard environment to Cloud SQL
[Day-41] Google Cloud Platform(3)-建立SQL雲端資料庫
筆記-於GCP上建立Mysql-server
部署 AWS EC2 遠端主機 + Ubuntu LAMP 環境 + phpmyadmin
一小時完成 VPS (Virtual Private Server) 部署
如何遠端連接虛擬主機上的 mySQL 資料庫
紀錄 部屬 AWS EC2 雲端主機 + LAMP Server + phpMyAdmin
The text was updated successfully, but these errors were encountered: