維護了一些專案,每次都要ssh 登入伺服器,安裝環境,部署專案,在申請證照,支援https,一連串下來,好累。
dnmp 配合 部署工具 deployer,可以在10分鐘內部署一套完整專案,解放雙手,可以有更多的時間升級打怪了
執行環境
快速開始
要求
伺服器 可以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 協議》,轉載必須註明作者和本文連結