Loading

使用 Docker 部署 PHP 运行环境

当项目开发逐渐趋于完成时,需要准备大批量集群部署,重复的环境安装、配置和源码上传等工作,虽然没有难度,但繁琐无聊又低效,如果将项目发版版本打包成对应的 docker 镜像,我们只需在每台部署应用服务器上执行拉取镜像、创建容器、启动容器即可。DNMP 是基于 Docker 的 PHP 集成开发环境。

DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一键安装程序。

DNMP特点:

  1. 100% 遵循 Docker 标准
  2. 支持多版本 PHP 共存,可任意切换 (PHP5.6、PHP7.1、PHP7.3)
  3. 支持绑定任意多个域名
  4. 支持 HTTPS 和 HTTP/2
  5. PHP源代码、Mysql数据、配置文件、日志文件都可以在 Host 中直接修改查看
  6. 支持完整 PHP 扩展安装命令
  7. 默认支持 pdo_mysql、mysqli、mbstring、gd、curl、opcache 等常用扩展,可根据环境灵活配置
  8. 可一键选配常用服务:
    • 多 PHP 版本: PHP5.6、PHP7.1-7.3
    • Web 服务: Nginx 、Openresty
    • 数据库: MySQL5、MySQL8 、Redis、memcached、MongoDB 、ElasticSearch
    • 消息队列: RabbitMQ
    • 辅助工具: Kibana、Logstash、phpMyAdmin、phpRedisAdmin、AdminMongo
  9. 实际项目中应用,确保100%可用
  10. 所有镜像基于 Docker 官方仓库,安全可靠
  11. 一次配置,Windows、Linux、MacOs皆可用
  12. 支持快速安装扩展命令 install-php-extensions acpu

快速部署

本地安装

  1. git
  2. Docker
  3. 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。

posted @ 2020-11-01 15:31  Charles|101  阅读(1528)  评论(0编辑  收藏  举报