DNMP(Docker + Nginx + MySQL + PHP)是一款全功能的LNMP环境一键安装程序,可多版本
dnmp 优势
dnmp是基于docker的集成环境,所以有以下优势:
- 服务之间相互隔离,通过docker-compose可以安装多个服务和版本
- 可以动态调整版本
- 轻松扩展php依赖
快速使用
- 本地安装
git
Git安装Docker
Docker安装docker-compose
Docker Compose 安装
clone
项目 ---- 项目跳转
git clone https://gitee.com/xiaoyucc521/dnmp.git
- 拷贝并命名配置文件,启动:
cd dnmp # 进入项目目录
cp sample.env .env # 复制并改名 .env 配置文件
cp docker-compose.sample.yml docker-compose.yml # 复制并改名 docker-compose.yml 配置文件
# 执行 docker-compose up 之前,建议看一下docker-compose.yml 文件,以便快速上手。
docker-compose up # 启动服务
- 启动之后查看PHP版本
http://localhost/ # PHP72
http://localhost/73 # PHP73
http://localhost/74 # PHP74
http://localhost/80 # PHP80
http://localhost/81 # PHP81
项目特点
- 开源
- 遵循Docker标准
- 支持多版本PHP共存,可任意切换
- 支持绑定任意多个域名
- PHP源代码、MySQL数据、配置文件、日志文件都可在主机中直接修改查看
- 默认支持
pdo_mysql
、mysqli
、mbstring
、gd
、curl
等常用热门扩展,根据环境灵活配置 - 可一键配置常用服务(后续会增加)
- 多PHP版本:PHP7.2、PHP7.3、PHP7.4、PHP8.0、PHP8.1
- Web服务:Nginx
- 数据库:MySQL、Redis、Elasticsearch、Mongo、
- 消息队列:RabbitMQ
- 辅助工具:Kibana、mongo-express
- 实际项目中应用,确保
100%
可用 - 所有镜像源于Docker官方仓库,安全可靠
- 一次配置,Windows、Linux、MacOs皆可用
目录结构
|-- data 数据库数据目录
| |--- mysql mysql 数据目录(多版本)
|--- logs 日志目录
| |--- mysql mysql 数据目录(多版本)
|--- plugins 插件目录
| |--- elasticsearch elasticsearch 插件目录(多版本)
|--- resource 资源目录(存放图片和.md的说明文件)
|--- servers 服务构建文件和配置文件目录
| |--- elasticsearch elasticsearch 配置文件目录(多版本)
| |--- kibana kibana 配置文件目录(多版本)
| |--- mysql mysql 配置文件目录(多版本)
| |--- mongo mongo 配置文件目录(多版本)
| |--- nginx nginx 配置文件目录(多版本)
| |--- php php 配置文件目录(多版本)
| |--- redis redis 配置文件目录(多版本)
| |--- rabbitmq rabbitmq 配置文件目录(多版本)
| |--- panel 服务面板
|--- www 项目文件目录
|--- bashrc.sample .bashrc 配置示例文件(宿主机使用容器内命令)
|--- sample.env 环境配置示例文件
|--- docker-compose.sample.yml Docker 服务配置示例文件
服务器启动和构建命令
如需管理服务,请在命令后面加上服务器名称,例如:
docker-compose up # 创建并启动所有服务
docker-compose up -d # 创建并以后台运行方式启动所有服务
docker-compose up "服务名..." # 创建并启动服务
docker-compose up -d "服务名..." # 创建并以后台运行的方式启动服务
docker-compose start "服务名..." # 启动服务
docker-compose stop "服务名..." # 停止服务
docker-compose restart "服务名..." # 重启服务
docker-compose build "服务名..." # 构建或者重新构建服务
docker-compose rm "服务名..." # 删除并停止
docker-compose down # 停止并删除服务容器,网络,和挂载卷