【开源推荐】mac下使用docker安装dnmp环境一键安装包

开发利器 2024年4月1日 129

最近在折腾mac下安装docker并配置 PHP,mysql,redis,nginx,mongodb的环境,碰到的问题不少,然后我想网上是不是有这样的一键包,果然一搜索有未大神开源了,这个docker-compose造福技术圈呀,于是我赶快拿来试了试,嘿呦喂,别说还真好用。

环境说明

我是M2的系统,M1系列的也是可以成功的。

Windows、Linux、MacOS

本地安装 docker 和 `docker-compose 2.0.0+`

项目特点

1、支持多版本 PHP 共存,可任意切换

2、支持绑定任意多个域名,支持多个虚拟目录

3、PHP 源代码、MySQL 数据、配置文件、日志文件都可在主机中直接修改查看

4、默认支持 pdo_mysql、redis、zip、gd、curl、xlswriter 等常用热门扩展,根据环境灵活配置

5、可一键配置常用服务

– 多 PHP 版本:PHP7.2、PHP7.3、PHP7.4、PHP8.0、PHP8.1、PHP8.2、PHP8.3
– Web 服务:Nginx
数据库
– 关系型:MySQL、
– 非关系型:Redis、Mongo

搜索引擎:Elasticsearch

消息队列:RabbitMQ

辅助工具:Kibana、mongo-express

实际项目中应用,确保 100% 可用

所有镜像源于 Docker 官方仓库,安全可靠

6、一次配置,Windows、Linux、MacOS 皆可用

目录结构

|-- data 数据库数据目录
| |--- mysql mysql 数据目录(多版本)
| | |--- mysql8.0 mysql8.0 数据目录
|--- logs 日志目录
| |--- mysql mysql 日志目录(多版本)
| | |--- mysql8.0 mysql8.0 日志目录
|--- plugins 插件目录
| |--- elasticsearch elasticsearch 插件目录(多版本)
| | |--- elasticsearch8.4 elasticsearch8.4 插件目录
|--- resource 资源目录(存放图片和.md的说明文件)
|--- servers 服务构建文件和配置文件目录
| |--- elasticsearch elasticsearch 配置文件目录(多版本)
| |--- kibana kibana 配置文件目录(多版本)
| |--- mysql mysql 配置文件目录(多版本)
| |--- mongo mongo 配置文件目录(多版本)
| |--- nginx nginx 配置文件目录(多版本)
| |--- php php 配置文件目录(多版本)
| | |--- php7.2 php7.2 配置文件目录
| | |--- php7.3 php7.3 配置文件目录
| |--- redis redis 配置文件目录(多版本)
| |--- rabbitmq rabbitmq 配置文件目录(多版本)
| |--- panel 服务面板
| | |--- vhost 站点配置文件目录
| | |--- ssl https 证书目录
| | |--- sock 套接字文件目录
|--- www 项目文件目录
|--- bashrc.sample .bashrc 配置示例文件(宿主机使用容器内命令)
|--- sample.env 环境配置示例文件
|--- compose.sample.yml Docker 服务配置示例文件

部署要求

下载项目(公众号回复下载)

命名配置文件,一键启动

1、可以先看看目录结构和配置文件是不是你想要的是的话,即可一键启动

cd dnmp # 进入项目目录
cp sample.env .env # 复制并改名 .env 配置文件
cp compose.sample.yml compose.yml # 复制并改名 compose.yml 配置文件
# 执行 docker compose up 之前,建议看一下compose.yml 文件,以便快速上手。
docker compose up # 启动服务

2、启动后查看配置文件

http://localhost/ # PHP72
http://localhost/73 # PHP73
http://localhost/74 # PHP74
http://localhost/80 # PHP80
http://localhost/81 # PHP81
http://localhost/82 # PHP82
http://localhost/83 # PHP83

详细配置文件

大家可以下载项目后,看看作者写的很详细的,我这就不在叙述了,我说点需要注意的地方。

这个地方的配置需要和 nginx 那块的保持一致,才能访问到PHP

原因

如果 Nginx 和 PHP-FPM 在同一主机,Nginx 会通过 9000 端口(或套接字文件)把这个目录值和脚本 URI 传给 PHP-FPM。

PHP-FPM 再通过 9000 端口(或套接字文件)接收 Nginx 发过来的目录值和脚本 URI,发给 PHP 解析。

PHP 收到后,就到指定的目录下查找 PHP 文件并解析,完成后再通过 9000 端口(或套接字文件)返回给 Nginx。

如果 Nginx 和 PHP-FPM 在同一个主机里面,PHP 就总能找到 Nginx 指定的目录。
但是,如果他们在不同的容器呢?

未做任何处理的情况,Nginx 容器中的站点根目录,PHP-FPM 容器肯定不存在。 所以,这里需要保证 Nginx 和 PHP-FPM 都挂载了宿主机的 ./www。 (当然,你也可以指定别的目录)

资源下载
PHP学习网
公众号回复“PHPER7292”获取下载!
请打开微信扫描右边的二维码回复关键字“PHPER7292”也可以微信直接搜索“PHP学习网”关注微信公众号获取。


关注微信公众号『PHP学习网

第一时间了解最新网络动态
关注博主不迷路~

PHP学习网:站内收集的部分资源来源于网络,若侵犯了您的合法权益,请联系我们删除!
分享到:
赞(0)

文章评论

您需要之后才可以评论
0点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网