Docker的LNMP一键安装
DNMP PLUS
dnmp = Docker
+ Nginx
+ MySQL
+ PHP
+ Redis
+ MongDB
plus = xhgui
+ xhprof
+ tideways
dnmp-plus = PHPer 的一键安装开发环境
+ PHP 非侵入式监控平台(优化系统性能、定位 Bug 的神器)
简体中文 | English
dnmp-plus 在 yeszao 的 DNMP 基础上新增:
- PHP xhprof 扩展 - Facebook 开发的 PHP 性能追踪及分析工具
- PHP tideways 扩展 - xhprof 的分支,支持 PHP7
- PHP mongodb 扩展
- MongoDB 服务
- Mongo Express - MongoDB 服务管理系统
- xhgui - xhprof 分析数据数据的 GUI 系统
目录结构
1 | ├── .github Github 配置目录 |
环境要求
- Docker
- Docker-compose
- Git
快速使用
1 | $ git clone https://github.com/guanguans/dnmp-plus.git --recursive |
OK,你现在已经拥有了一个 dnmp-plus 开发环境,默认 web 根目录 www/localhost/
,浏览器访问 http://localhost
基本使用
1 | # 服务选项:nginx、php72、php56、mysql、mongo、redis、phpmyadmin、phpredisadmin、mongo-express |
xhgui 使用,可以参考 https://github.com/guanguans/guanguans.github.io/issues/9
安装
1 | $ cd www/xhgui-branch |
修改 xhgui-branch 配置文件 www/xhgui-branch/config/config.default.php
1 |
|
hosts 文件中增加
1 | 127.0.0.1 xhgui.test |
浏览器访问 http://xhgui.test
在要分析项目 nginx 配置文件中修改,以默认的 localhost 配置 conf/conf.d/localhost.conf
为例
1 | ... |
浏览器访问 http://localhost,再访问 http://xhgui.test,此时已经有了内容,愉快的查看项目的性能追踪及分析吧
PHP 和扩展
切换 Nginx 使用的 PHP 版本
默认同时创建 PHP5.6
和 PHP7.2
2 个 PHP 版本的容器,切换 PHP 仅需修改相应站点 Nginx 配置的 fastcgi_pass
选项,例如,示例的 http://localhost 用的是 PHP7.2,Nginx 配置:
1 | fastcgi_pass php72:9000; |
要改用 PHP5.6,修改为:
1 | fastcgi_pass php56:9000; |
重启 Nginx 生效
1 | $ docker-compose restart nginx |
安装 PHP 扩展
PHP 的很多功能都是通过扩展实现,而安装扩展是一个略费时间的过程,
所以,除 PHP 内置扩展外,在 env.sample
文件中我们仅默认安装少量扩展,
如果要安装更多扩展,请打开你的 .env
文件修改如下的 PHP 配置,
增加需要的 PHP 扩展:
1 | PHP72_EXTENSIONS=pdo_mysql,opcache,redis,xdebug,mongodb,tideways |
然后重新构建 PHP 镜像
1 | docker-compose build php72 |
使用 Log
Log 文件生成的位置依赖于 conf 下各 log 配置的值。
Nginx 日志
Nginx 日志是我们用得最多的日志,所以我们单独放在根目录 log
下。log
会目录映射 Nginx 容器的 /var/log/nginx
目录,所以在 Nginx 配置文件中,需要输出 log 的位置,我们需要配置到 /var/log/nginx
目录,如:
1 | error_log /var/log/nginx/nginx.localhost.error.log warn; |
MySQL 日志
因为 MySQL 容器中的 MySQL 使用的是 mysql
用户启动,它无法自行在 /var/log
下的增加日志文件。所以,我们把 MySQL 的日志放在与 data 一样的目录,即项目的mysql
目录下,对应容器中的 /var/lib/mysql/
目录。
mysql.conf 中的日志文件的配置:
1 | slow-query-log-file = /var/lib/mysql/mysql.slow.log |
数据库管理
- 默认 phpMyAdmin 地址:http://localhost:8080
- 默认 phpRedisAdmin 地址:http://localhost:8081
- 默认 Mongo Express 地址:http://localhost:8082
参考链接
License
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 chaofa_vip@126.com
文章标题:Docker的LNMP一键安装
文章字数:1.3k
本文作者:Hechaofa
发布时间:2019-11-09, 10:09:47
最后更新:2019-12-24, 23:03:18
原始链接:https://chaofavip.github.io/2019/11/09/docker/start/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。