Dokku:輕量級Heroku替代方案,簡化應用部署
Heroku免費應用的限制收緊了嗎?別擔心!本文介紹Dokku,一個類似Heroku的工具,可通過Git輕鬆部署複雜應用。它直接支持Heroku構建包,輕鬆遷移現有應用,並提供各種插件用於數據庫和其他組件。雖然Dokku比Heroku需要更多命令行設置,並需要一些服務器管理經驗,但它提供了極大的靈活性和成本效益。
Dokku與DigitalOcean的結合:經濟高效的應用部署
利用DigitalOcean預裝Dokku鏡像,您可以快速搭建自己的服務器並使用自定義根域名。本文將指導您在DigitalOcean上設置Dokku服務器,並部署簡單的靜態網站。 Dokku至少需要1GB內存和一個基礎域名來託管您的應用。要將域名與Dokku服務器關聯,您需要設置一個指向服務器IP的A記錄。
Dokku與Heroku的差異
總而言之,Dokku比Heroku需要更多命令行操作,但這並不復雜,只需少量學習即可上手。
在DigitalOcean上創建Dokku服務器
登錄DigitalOcean,使用預裝Dokku應用創建一個新服務器(至少1GB內存)。在主機名中輸入您要用於託管應用的基礎域名(例如,example.com)。確保您擁有此域名,如有需要請註冊!
域名設置
設置一個指向服務器IP的A記錄,以及一個指向相同IP的通配符(*) A記錄。 DNS解析完成後,即可繼續後續步驟。
如果您想在其他域名上託管應用,您可以:
創建您的第一個應用
SSH連接到您的服務器並運行以下命令:
$ dokku apps:create example.com
這將在您的服務器上創建一個名為“example.com”的應用,它將顯示在您域名的根目錄下。對於後續應用,您可以運行dokku apps:create appname
,應用將託管在appname.example.com
。
部署靜態網站
接下來,我們部署一個簡單的靜態網站到example.com。在項目根目錄下創建一個名為.static
的空文件(touch .static
)。這將告訴構建包這是一個靜態網站。推送項目到Dokku後,它將自動檢測並進行相應配置。
創建一個包含index.html
文件的Git倉庫,並添加.static
和.env
文件。添加Dokku作為遠程倉庫:
$ dokku apps:create example.com
然後,通過以下命令部署:
git remote add dokku dokku@example.com:example.com
Dokku將配置應用容器(檢測靜態構建包),訪問example.com即可查看您的靜態網站。
後續步驟
如果您有現有的Heroku應用,只需添加Dokku遠程倉庫並運行git push dokku master
即可遷移。
您可能需要設置數據庫。 Dokku支持多種數據庫插件,包括Postgres、Mongo和Mysql,安裝和使用都很方便。
如遇問題,請參考Dokku文檔。
常見問題解答
以上是Heroku替代方案:與Dokku一起在Digitalocean上部署應用程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!