10分鐘內一鍵部署環境及應用

jcc123發表於2021-04-19

維護了一些專案,每次都要ssh 登入伺服器,安裝環境,部署專案,在申請證照,支援https,一連串下來,好累。

dnmp 配合 部署工具 deployer,可以在10分鐘內部署一套完整專案,解放雙手,可以有更多的時間升級打怪了

執行環境

快速開始

下載壓縮包 或者 gitee

要求

  • 伺服器 可以ssh免密碼登入

  • 用到了80,3306埠,有應用佔用的可以停掉或者在docker.env中換一個埠,

  • deploy.php 和 server.php 中有必填項,換成自己的

1 安裝基礎環境

php vendor/bin/dep -f server.php environment:install -vvv

2 釋出

釋出了一個laravel demo

php vendor/bin/dep -f deploy.php deploy -vvv

3 生成證照

不生成證照跳過該步驟進入第四步驟

php vendor/bin/dep -f deploy.php docker:nginx:certbot -vvv

4 nginx配置及重啟

php vendor/bin/dep -f deploy.php docker:nginx:conf -vvv

5 訪問

訪問 你配置 domain.com

證照定時任務開啟

進到伺服器

crontab -e

0 0 * 1/1 * docker exec nginx certbot renew

6 說明

  • server.php 是 服務其環境安裝

  • deploy.php 是 應用安裝(laravel),可以自己定義

  • docker.env和docker-compose.yml 是安裝環境的基礎配置。laravel.env 是laravel的配置檔案,會上傳到專案根目錄

  • domain.conf.tpl 是nginx 配置模版檔案,可以去掉模版引數

  • deploy.php 和 server.php 中有必填項,可以換成自己的

其他

  • services/nginx 下增加了一個certbot用於存放certbot增加的證照,不使用certbot的證照話,可以將自有證照放在ssl下

  • services/nginx 下的Dockerfile 增加了certbot-nginx 其他和dnmp一樣

  • 為了在我的nas中執行(配置很低),預設帶了 vendor。 可刪除掉 執行 composer install

問題

  • docker啟動不起來 可以 docker logs containerId 檢視容器日誌

  • 應用啟動不起來,可在 ~/dnmp/logs 下檢視相關日誌檔案

  • 應用啟動起來了,可檢視應用的日誌,定位相關問題

  • 更多請參考 dnmp

本作品採用《CC 協議》,轉載必須註明作者和本文連結
NOT IS BECAUSE I WANT TO WRITE, BUT I WANT TO INCREASE, SO I GO TO WRITE~~

相關文章