發表文章

目前顯示的是有「Digital Ocean」標籤的文章

如何在Digital Ocean的ubuntu主機上透過certbot配置Let's Encrypt免費且自動續啟用的SSL安全憑證

圖片
  在有一篇簡單介紹了port 443的 https https://coolmandiary.blogspot.com/2021/02/https.html 和基礎密碼學概念 而一個對外網站通常也對於安全認證算是一個門面 就跟豬肉攤有無拿到標示國產標章是類似概念 約2018之後 沒有HTTPS認證的網站預設會被Chrome瀏覽器標記為不安全 這更會影響流量和讓人多願意停留在此網頁上瀏覽的時間 在此我們採用certbot這套工具 Certbot 可在託管主機上執行的指令 sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt install python-certbot-nginx (舊指令) sudo apt install python3-certbot-nginx (新版本要用這只令) 最後 sudo certbot --nginx -d {domain name} -d www.{domain name} 透過指令會自動幫我們 修改nginx default file的port設定指向443 路徑:/etc/nginx/sites-enabled 將預設80改為443  當指令一下會有如下output 這裡要小心注意會有兩個問題回應 其中當問到有用戶想要透過 HTTP 80來進入網站時要做的事情 要輸入2 給他重新導向443 HTTPS前綴的網站路徑 此時將網頁重新刷新就會發現本來顯示不安全的 突然變為有憑證的鎖頭外觀 通常是3個月就到期 這裡用 sudo certbot renew --dry-run 測試印出是否會在到期時重新啟用另一個憑證 移除參數 --dry-run 就會正常執行,會覆蓋舊憑證。 完整經過certbot幫我們弄好的 nginx default file配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 6...

如何在Digital Ocean主機上配置購買好的Domain Name_GoDaddy與NoIP示範

圖片
  在上一篇 使用Digital Ocean超快速搭建出部屬NodeJs的主機 介紹到如何deploy你的NodeJs應用到數位海洋的Droplet 這次要介紹如何綁定域名 這次主要示範從GoDaddy上購買完一個doamin name之後如何轉移到digital ocean上 首先你必須先購買一個域名(可以透過GoDaddy或者NameCheap) 購買好之後 到Digital Ocean  Droplets側欄頁籤按鈕 配置頁面選擇Add Domain下拉選單進入到Networking的Domain Name 輸入完剛購買的域名後按下Add Domain進行創建 這裡建議除了預設@直接自己的網域之外 也加上www的子網域 預設Digital Ocean DNS 是這些預定內容 ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com 到GoDaddy 後台選DNS管理 選擇【我要用自己的名稱伺服器】 一筆一筆添加輸入儲存後儲存 等1至5分鐘之後就完成domain name的綁定 2023年補充若只是剛開始測試沒有打算添購域名 則可以暫時先來NoIp來申請一個免費(要每隔30天就啟用激活) 這邊去輸入你想客製化(不能有人用過必須唯一)的hostname 並挑選對應的次級域名 A紀錄是一種DNS紀錄類型,當架設一個網站後,網站主機商會提供您 一組IP位置,設定A紀錄。 主機名稱欄位不可輸入 ,除了 - (中線) 以外的特殊符號。 假設這裡配置的對應IP為此組 Ref: Connecting a GoDaddy domain with DigitalOcean droplet [Step by step guide with images] https://top5hosting.co.uk/blog/uk-hosting/361-connecting-a-godaddy-domain-with-digitalocean-droplet-step-by-step-guide-with-images 輸入網址 https://domain.com 無法瀏覽,但加上 www 即可瀏覽,原因 https://esupport.tw/site/%E7%B6%B2%E7%AB%99%E7%84...

使用Digital Ocean超快速搭建出部屬NodeJs的主機

圖片
  在 上一篇 我簡單分享了透過數位海洋的雲端資料庫主機搭建方式 可以看到十分迅速一個DB Server就自然產生了 這次要來部屬NodeJs的應用 就需要先產生可以部屬NodeJS的主機環境 側欄Marketplace點入後 搜尋NodeJs後 預設此主機已經把部屬環境該裝的都裝好了 跟泡麵一樣都包裝好了 應有盡有只要按鈕點一下就自然產生 包含NGINX、NPM  、 NodeJs 跟 PM2 ( PM2.5) 基本上會發現創建方式 跟上一篇差不多一致性的操作流程 創建好的node droplet我們只要複製該IP 就會看到預設導入的網頁 接著你網站目錄可以透過git或FileZela 之類的FTP軟體來連線放置 預設放置於/var/www的目錄下 這裡預設環境都有安裝好npm跟nodejs了 官方html輸出位置預設就是在/var/www中的hello.js 那通常也要記得你的NodeJs專案中有用到捨麼package要記得補下載 pm2 list (pm2主要是一套常用於管理主機上nodejs 應用process的工具,PM:Process Manager) 由於我們是直接透過digitalocean幫我們一鍵到位 不然若是一個全新的linux主機通常還要自己手動下載安裝 npm install --global pm2 1.提供node應用若crash掉後自動重啟的監控服務。 2.提供可以在server重啟後(或在指定的條件下),應用自動重啟服務。 3.提供多項資訊的表格視覺化查看,包含已重啟次數、CPU 跟 memory用量、process id...等等。 pm2 list   可以條列出目前的網站服務process 列表,看到目前該支應用process的運行狀態跟負載資訊。 由於預設跑hello這支js來呈現可愛鯊魚畫面 我們想把它偷天換日 所以我們暫時把它中斷 pm2 stop 0 並刪除該Process  pm2 delete 0 (在過程中可不斷透過pm2 list  來看下了指令後狀態的變化) 這裡都是賦予參數值為 process id 也就是0 由於我這支預設port設定跑 8080 因此需要再去更改 預設自帶範例port設定為3000 由於我在本機windows不能用那個port會衝...

使用Digital Ocean建立包含有MySQL資料庫的託管主機空間

圖片
  一開始註冊完數位海洋 會提供100美元的扣打給開發者測試使用 產生一個Droplets託管空間 作業系統選擇Ubuntu 20.10 最新版 選擇Basic方案  每小時0.007美元方案 分頁切至Marketplace選擇MySQL Ubuntu 這裡由於台灣離新加坡機房是比較近的因此就選新加坡 這裡選擇Password  這裡設的password要記得 待會連終端會有用到 底下有可以自行挑選是否要自動bakup加價服務項目 這裡暫時不勾 按下Create等它跑完 以創建好一台Linux而且已經安裝好MySQL的線上主機了(灑花~~ 在詳細設定細節可以看到目前資料庫配置資訊 使用者名稱改成root 每次有更動會有提示 旁邊側欄可以選擇Access console進到網頁版本terminal 這裡由於直接Browser開起來的consoel 不能複製粘貼 很不方便我們copy paste 長長的db password 因此我們要用putty透過SSH方式 先用root那組我們自己設定的帳密 連進去後此時的terminal就可以比較簡單做粘貼複製的動作好讓我們連進phpMyAdmin的 預設DB後台介面 Ref: https://marketplace.digitalocean.com/apps/mysql#getting-started