Zeit Now 教學

了解如何使用 Zeit 所創造的 Now 平台 Zeit 現在被稱為 Vercel,此教學可能已經過時。 部署 Node.js 應用程式最簡單的方法之一就是使用 Zeit 所創造的 Now 平台。 最近推出了 Now 2。此教學專注於 Now 2。與 Now 1 有許多不同之處,在這篇文章中有詳細說明。 Now 讓應用程式的部署和分發步驟變得非常簡單和快速。你可以把它當成「雲端」,因為你並不知道你的應用程式將被部署在哪裡,但你知道你將擁有一個可以訪問的 URL。 你可以使用 Now 部署 Node.js 應用程式、靜態網站等等。 Now 不僅支援 Node.js,還支援 Go、PHP、Python 和其他語言,但在這個教學中我只會考慮 Node.js 這個技術。 Now 有免費的使用方案,包括免費 SSL、100GB 的主機空間、每日 1000 次 無伺服器 函數調用、每月 1000 次建置、每月 100GB 的頻寬以及全球 CDN 的使用。如果你需要更多,價格頁面可以讓你對成本有個概念。 安裝 最好的方式是安裝 Now Desktop,你可以從 https://github.com/zeit/now-desktop 下載它。這是一個 Electron 應用程式,也會安裝 Now CLI,這是我們稍後會使用的工具。 透過 Now Desktop,你可以使用簡單的拖放介面部署應用程式,非常方便! 提示:如果你喜歡,你也可以只安裝命令行工具,可以從 https://zeit.co/download 安裝 now CLI。...

如何使用DigitalOcean Apps來托管網絡應用程序

我正在尋找一個完美的地方來托管我正在建設的新應用程序,當時我決定試試DigitalOcean Apps。 DigitalOcean是VPS領域的巨頭之一,您可以閱讀我的教程《如何在DigitalOcean上創建第一個VPS》。 我考慮過Heroku,這是一個很好的選擇。但我也記得DigitalOcean Apps,這是DigitalOcean的新產品,它讓您只需將應用程序推送到GitHub存儲庫中,就可以運行應用程序。 您可以使用此聯盟鏈接獲取$100的DigitalOcean免費信用額度。 DigitalOcean Apps非常吸引人,因為您無需管理服務器,擔心其安全性、更新和維護問題,您只需關心您的應用程序,而讓DigitalOcean團隊擔心其他一切。 與運行自己的服務器相比,您需要支付更多的費用,但您無需花費更多的時間。這取決於您的情況中哪種資源更為稀缺。 但在做出決定之前,您總是可以先試試看。讓我們試試DigitalOcean Apps的工作流程。 前往 https://cloud.digitalocean.com/apps/ 在此頁面上,點擊“啟動您的應用程序”按鈕。 從這裡,您可以從GitHub存儲庫部署應用程序,或者可以啟動演示應用程序。我們將點擊“啟動演示應用程序”按鈕,這將顯示一個大型的選項列表: 我點擊了“Ruby on Rails”(但對於列出的任何其他工具、語言或框架,過程都是相同的)。 現在,我可以為應用程序選擇一個名稱、一個部署位置以及要使用的分支(main是默認值): 現在是應用程序配置頁面,具體取決於您之前選擇的選項。我們可以選擇應用程序的類型(這裡只有“Web Service”一個選項),可以設置該組件用於監聽HTTP請求的路徑,可以設置環境變量,可以定義構建命令,可以選擇運行的HTTP端口。 如果應用程序需要,還可以添加一個從7美元/月起價的數據庫。 當準備好之後,點擊“下一步”,您可以選擇要托管此應用程序的計劃。DigitalOcean Apps可以免費運行靜態站點,但對於我們選擇的服務器渲染的應用程序,我們的選項從每月5美元的Basic計劃開始,還有每月12美元的Pro計劃: 價格應按小時計費,就像DigitalOcean droplets一樣。您可以快速啟動應用程序來嘗試它,並幾乎不用支付費用。 最終價格列出了10美元,因為它自動選擇了10美元的容器。這是DigitalOcean的通用默選選擇(我不理解),它會顯示一個更貴的選項,這也是對於常規的DigitalOcean droplets。 我建議從最基本的選項開始,根據需要進行擴展。 只需選擇每月5美元的選項即可獲得512MB RAM容器,然後可以點擊“啟動基本應用程序”按鈕: 界面切換到應用程序儀表板: 並且構建過程開始: 過了一會兒,您將收到“部署成功!”的消息: 點擊“Live App”鏈接查看正在運行的應用程序: 儀表板有幾個有用的屏幕,可用於監視CPU和內存使用情況、部署日誌,以及通過控制台訪問應用程序服務器: 您可以調整配置、擴展應用程序等等: 如果您想停止運行應用程序,並停止支付DigitalOcean運行它的費用,只需點擊“Destroy”按鈕。

將部落格托管到 Cloudflare Pages

正如我在 YouTube 上发布的视频 中所预测的那样,上周我将部落格从 Netlify 迁移到了 Cloudflare Pages。 我有一个主要的原因,那就是带宽费用。从去年七月开始,我每个月都需要支付 Netlify 的费用。 我很感谢 Netlify 为我提供的服务,但我必须结束这种情况。每次我要支付额外的带宽费用就是 20 美元。从 2020 年 7 月开始,一直到 2021 年 10 月,我一共支付了 340 美元才能保持部落格运行。部落格是消耗最多带宽的事物。 这是一个早就应该改变的决定。 我通常会对这样的决定犹豫不决,因为这是一个大的改变。我不想改变本已运行得很好的东西。 我也不想每年花费 240 美元,而有些服务可以免费提供相同的服务。 于是乎,Cloudflare Pages 登场。他们提供免费的带宽以及基本相同的服务。 Netlify 是一个出色的 JAMStack 服务商,提供了很多我甚至都没有使用到的功能,比如高级团队功能、身份验证、表单、分割测试等。 而我只是使用其中的基本功能:部署静态网站而已。 Cloudflare Pages 更加精简。它没有那些功能,但却提供了两个 Netlify 不提供的东西。 首先是免费的分析功能。Netlify 也有分析功能,但我需要付费每月 9 美元,这不是我想要的。 另一个是,Netlify 有 7 个 CDN 节点,而 Cloudflare Pages 有超过 200 个。这意味着网站在全球更多地方加载得更快。 我在视频中详细介绍了我迁移到 Cloudflare Pages 的过程,所以在这里我不再赘述。如果你对此感兴趣,请观看视频。 到目前为止,我对这次迁移非常满意。 我首先将部落格迁移到了 Cloudflare Pages,然后也将一些用于课程的网站迁移到了那里,因为它们是子域名,我让 Cloudflare 自动处理了所有的配置。 但是我还有很多其他网站托管在 Netlify 上,它们可能会一直留在 Netlify 上。...

我用來運行這個博客的技術棧

在本文中,我描述了我運行博客的方式 網站平台 網站托管地點 文章 發佈文章的工作流程 圖片 電子報 書籍 就是這樣! 網站平台 這個網站是使用Astro搭建的靜態網站。 以前我使用Hugo來構建,我喜歡它。不過現在我更喜歡使用JSX創建UI。 像Hugo一樣,Astro非常快速,可以生成快速響應的頁面,可以部署在Netlify或Cloudflare Pages等平台上。這就是我所需的一切。 網站托管地點 我以前使用Netlify來托管,現在改用Cloudflare Pages,因為他們提供免費的無限流量。 文章 我使用Markdown來撰寫文章。有時候我使用Notion、Bear或VS Code直接撰寫。Markdown是一種非常便攜的格式。 發佈文章的工作流程 我儘量多發佈文章。 以前我每天都會發佈,雖然現在我並不是每天都發佈,但我仍然儘量多發佈。 我只是享受這個過程。 有時候我在一個項目上工作,一天內就有三個發文的點子,這些都是我在Google上搜索並找到答案的東西。 我曾經提前一周或更長時間準備好內容,隨時可以發佈,但現在只有在有內容要發佈時才會發佈。 我將所有內容都推送到一個私有的GitHub存儲庫中,通過Git集成與Cloudflare Pages / Netlify同步。 每次向GitHub推送時,網站都會更新。 圖片 我確保所有文章圖片都使用ImageOptim進行了優化,以避免不必要的帶寬使用和提升頁面速度。 電子報 我有一個電子報。有時候我會發送一封郵件,列出我撰寫的文章以及我創建的任何新資源,這些資源可能很有趣。 我使用一個自托管的解決方案叫做Sendy和AWS SES。 了解一下為什麼你應該創建電子郵件列表。 書籍 我撰寫並發布了一系列電子書,可以在我的網站上閱讀或購買PDF或epub格式的書籍。我使用一個名為Honkit的工具生成這些書籍格式。詳細的流程在這裡: https://flaviocopes.com/how-to-create-ebooks-markdown/。 到目前為止,我已經寫了15本書,未來還計劃寫更多。 就是這樣! 我的工具和工作流程總是在不斷發展。 我會儘量保持這篇文章的更新。

部署專案的最佳平台是什麼?

你已經建立了一個很棒的應用程式。 現在是把它放在網絡上,讓所有人都能對你的作品感到驚嘆的時候了。 然而,這裡有個問題:要放在哪裡? 你的應用程式應該部署在哪裡? 有很多不同的選擇,取決於專案的範圍、其野心以及你想花多少錢。 讓我們從「玩具專案」選項開始,這對於展示和試驗新功能非常完美。 一個選擇是 Replit。它就像是一個遊樂場。Replit 提供無限應用程式,但每個應用程式在資源使用方面(CPU、RAM)有限制,但對於測試專案來說很好。每個應用程式都可以在 repl.co 子域上獲得獨立的 URL。 你可以從預先製作的範本開始,安裝套件,使用任何程式語言(如Python,Node,Java,C#,Bash等)。還可以輕鬆地fork其他人的 repls。 另一個選擇是 Glitch。 Glitch 是一個非常適合 Node.js 應用程式和簡單網站的遊樂場。免費應用程式在休眠 5 分鐘後休眠,但編輯器非常好用,而且它們還提供大量可複製的應用程式。而且你還可以獲得一個不錯的 URL。這是一個非常有創意的平台。 對於快速展示和為教程提供遊樂場,我會使用這些選項之一。 現在是談論更嚴肅事物的其他選項的時候了。 一個選擇是 Vercel。Vercel 較不像一個遊樂場,更像是一個嚴肅的選項。他們的愛好者計劃很慷慨,而且你還能獲得一個漂亮的子域名,vercel.app。如果你使用 Next.js,這將非常有用,因為他們造了這個框架。 另一個選擇是 Netlify,我推薦 Netlify 來托管靜態網站。他們有一個很棒的免費計劃。沒有後端,但你也可以使用函數來執行一些無服務器函數。非常酷。 另一個選擇是 CloudFlare Pages。它與 Netlify 工作方式相似,但他們有無限的頻寬。沒有後端,但可以使用靜態網站(他們有函數)。 另一個選擇是 Railway。他們有一個免費的入門計劃,你可以創建多個應用程式,我發現他們的數據庫提供非常直觀,而且他們還有各種現代應用程式的範本,包括使用SvelteKit,Next,Vite,還有Rails、Discord機器人、Nuxt等。 現在我們來談談更完整的解決方案。 一個選擇是 Render,他們有一個很棒的免費計劃,包括靜態網站托管、函數(運行 Node/Python/Rust/Go/Ruby…)和免費數據庫。非常酷! 另一個選擇是 Supabase,他們有一個很棒的免費計劃,提供高達 2GB 的頻寬和1GB的文件存儲,他們真的提供了構建真實應用程式所需的一套完整服務。如果你的用量超過了免費計劃,你也可以自己託管。 一個選擇是 Firebase,它有免費計劃,提供數據庫和身份驗證等功能,非常酷!由 Google 開發。 一個選擇是 Fly.io,他們提供免費計劃,非常適合實驗。Fly.io 允許你使用他們的各種服務來構建非常酷的應用程式,包括數據庫、負載平衡、單一程式庫等等。 以上都是可供選擇的托管選項。 另一個選擇是使用自己的 VPS。 VPS 是你自己的伺服器,運行 Linux,你可以隨心所欲地使用它。 然而,這需要更大的努力,但你也可以學習到寶貴的技能,以後可以重複使用。 DigitalOcean 是我最喜歡的 VPS 供應商。他們的基本方案從每月 4 美元開始,你可以做任何想做的事情,包括 500GB 的流量、數據庫等等。...