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。...

在生產環境部署 Next.js 應用程式

如何生成 Next.js 應用程式的生產版本 在生產環境中部署使用 Next.js 開發的應用程式非常簡單。只需將以下 3 行代碼添加到 package.json 的 script 部分: "scripts": { "dev": "next", "build": "next build", "start": "next start" } 到目前為止,我們一直使用 npm run dev 來調用本地安裝的 node_modules/next/dist/bin/next 中的 next 命令。這個命令用於啟動開發服務器,該服務器為我們提供了在調試時非常有用的功能,如 源代碼映射 和 熱加載代碼。 同樣的命令也可用於生成網站,只需運行 npm run build 命令並傳遞 build 標誌。然後,可以使用相同的命令並傳遞 start 標誌來啟動生產應用程式,即運行 npm run start 命令。 要成功在本地部署應用程式的生產版本,我們必須調用這兩個命令。生產版本進行了高度優化,不包括源代碼映射等對最終用戶沒有益處的功能。 因此,讓我們來生成我們的應用程式的生產部署版本。運行以下命令進行構建: npm run build 該命令的輸出告訴我們一些路由(/ 和 /blog)現在被預渲染為靜態 HTML,而 /blog/[id] 將由 Node.js 後端進行服務。 然後,運行 npm run start 來啟動本地生產服務器: npm run start 訪問 http://localhost:3000 即可查看本地應用程式的生產版本。

如何使用pm2來運行Node.js應用程式

這是一篇介紹如何在Linux上管理Node進程並透過GitHub Webhooks自動重啟它們的技術文章。 pm2是一個非常有用的Linux進程管理工具。 我在幾個項目中使用過它,現在我想告訴你如何使用它! 特別是我將使用它在DigitalOcean VPS上運行一個Node.js應用程式,並設置當我們將應用程式的更新推送到GitHub存儲庫時,pm2將會被觸發,從GitHub更新應用程式並重啟它。 聽起來很酷吧?那我們開始吧! 首先,在DigitalOcean上註冊並按照我的教程创建一個VPS。 重要提示:在DigitalOcean上使用NodeJS映象,它已經設置了pm2和node,而且除了root用戶外還有一個nodejs用戶。 當你的VPS運行起來之後,我們可以開始了。 確保你使用nodejs用戶進行ssh登錄。當以root身份登录時,只需運行su nodejs以使用該用戶。 你在VPS上運行的示例Node.js應用程式位於/var/www/html/文件夾中,它由hello.js文件組成。 應用程式的部署/運行已經通過pm2程序進行管理,它是一個守護進程管理器。 你可以使用pm2 list命令來查看現在正在運行的所有應用程序: 如果你對應用程式做任何更改,這些更改將在重新啟動應用程式之前不會生效: pm2 restart hello 你可以停止正在運行的應用程式: pm2 stop hello 如果你嘗試重新加載頁面,這將在瀏覽器中產生一個錯誤: 你可以運行: pm2 start hello 將應用程式重新啟動。 pm2的好處是,當系統重新啟動時,它會自動重新運行應用程序。 現在你已經看到了內置的Hello World的運行方式,讓我們部署另一個應用程式。 讓我們停止當前的示例應用程式: pm2 stop hello 並在/var/www/html中創建一個名為test的文件夾: mkdir test 進入該文件夾: cd test 運行以下命令: npm init -y 然後安裝Express: npm install express 現在運行nano app.js並添加以下代碼: const express = require("express") const app = express() app.get("/", (req, res) => res.send("Hello World!")) app.listen(3000, () => console....

部署 PHP 應用程式

當你有一個準備好的應用程式時,就該部署它並讓它可以從網上任何地方存取! PHP 是在網上部署方面,擁有最佳成敗故事的程式語言。 相信我,其他每一種程式語言和生態系統都希望自己和 PHP 一樣容易。 PHP 的優點、它準確理解並允許取得這令人難以置信的成功,是即時部署。 你把一個 PHP 檔案放在 Web 伺服器服務的資料夾中,它就能正常運作了。 不需要重新啟動伺服器,執行可執行檔,什麼都不需要。 這仍然是眾多人的做法。你以 3 美元每月租用一個共享主機,透過 FTP 上傳檔案,完成。 然而,如今我認為 Git 部署是每個專案都應該內建的東西,而共享主機應該過時了。 其中一種解決方案是始終擁有自己的私有 VPS(虛擬私有伺服器),你可以在 DigitalOcean 或 Linode 等服務中取得。 但是管理自己的 VPS 可不是開玩笑的,它需要嚴重的知識和時間投資,以及持續的維護。 你還可以使用所謂的 PaaS(平台即服務),這些平台專注於處理所有煩人的事情(伺服器管理),你只需上傳應用程式,它就運行起來。 像 DigitalOcean App Platform(不同於 DigitalOcean VPS)、Heroku 和許多其他平台均非常適合進行初步測試。 這些服務允許你連接 GitHub 帳號,每次將變更推送到你的 Git 儲存庫時都會部署。 參考 從零開始設定 Git 和 GitHub 這比 FTP 上傳更好的工作流程讓我們一起來做一個極簡的示例。 我建立了一個簡單的 PHP 應用程式,只有一個 index.php 檔案: <?php echo 'Hello!'; ?> 我在 GitHub Desktop 應用程式中添加了上層資料夾,初始化了一個 Git 倉庫並且將它推送到 GitHub: 現在請前往 digitalocean....

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

你已經建立了一個很棒的應用程式。 現在是把它放在網絡上,讓所有人都能對你的作品感到驚嘆的時候了。 然而,這裡有個問題:要放在哪裡? 你的應用程式應該部署在哪裡? 有很多不同的選擇,取決於專案的範圍、其野心以及你想花多少錢。 讓我們從「玩具專案」選項開始,這對於展示和試驗新功能非常完美。 一個選擇是 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 的流量、數據庫等等。...