當項目開發逐漸趨於完成時,需要准備大批量集群部署,重復的環境安裝、配置和源碼上傳等工作,雖然沒有難度,但繁瑣無聊又低效,如果將項目發版版本打包成對應的 docker 鏡像,我們只需在每台部署應用服務器上執行拉取鏡像、創建容器、啟動容器即可。DNMP 是基於 Docker 的 PHP 集成開發環境。
DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一鍵安裝程序。
DNMP特點:
- 100% 遵循 Docker 標准
- 支持多版本 PHP 共存,可任意切換 (PHP5.6、PHP7.1、PHP7.3)
- 支持綁定任意多個域名
- 支持 HTTPS 和 HTTP/2
- PHP源代碼、Mysql數據、配置文件、日志文件都可以在 Host 中直接修改查看
- 支持完整 PHP 擴展安裝命令
- 默認支持 pdo_mysql、mysqli、mbstring、gd、curl、opcache 等常用擴展,可根據環境靈活配置
- 可一鍵選配常用服務:
- 多 PHP 版本: PHP5.6、PHP7.1-7.3
- Web 服務: Nginx 、Openresty
- 數據庫: MySQL5、MySQL8 、Redis、memcached、MongoDB 、ElasticSearch
- 消息隊列: RabbitMQ
- 輔助工具: Kibana、Logstash、phpMyAdmin、phpRedisAdmin、AdminMongo
- 實際項目中應用,確保100%可用
- 所有鏡像基於 Docker 官方倉庫,安全可靠
- 一次配置,Windows、Linux、MacOs皆可用
- 支持快速安裝擴展命令
install-php-extensions acpu
快速部署
本地安裝
- git
- Docker
- docker-compose
clone 項目
$ git clone https://github.com/yeszao/dnmp.git
如果不是 root 用戶,需要將當前用戶加入 docker 用戶組
$ sudo gpasswd -a ${USER} docker
拷貝並命名配置文件,啟動:
$ cd dnmp # 進入項目目錄
$ cp env.sample .env # 復制環境變量文件
$ cp docker-compose.sample.yml docker-compose.yml # 復制 docker-compose 配置文件。默認啟動3個服務:# Nginx、PHP7和MySQL8。要開啟更多其他服務,如Redis、# PHP5.6、MongoDB,ElasticSearch等,請刪 # 除服務塊前的注釋
$ docker-compose up # 啟動
在瀏覽器訪問
在瀏覽器中訪問:http://localhost或https😕/localhost(自簽名HTTPS演示)就能看到效果,PHP代碼在文件./www/localhost/index.php。