DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)全功能LNMP一键安装程序
DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)全功能LNMP一键安装程序LNMP一键安装程序安装程序。 * 共存,可选开关(~~、~~、)
redis、x调试O、wSwoole等常用流行扩展,根据环境灵活配置。 100%可用 、Linux、一次性配置、O Mac 可用 1 。目录结构/
├── conf 配置文件目录
│ ├── conf.d Nginx用户站点配置目录
│ ├── nginx.conf Nginx默认配置文件
│ ├── mysql.cnf MySQL用户配置文件
│ ├── PHP-FPM配置文件(部分会覆盖配置)
│ └── PHP默认配置文件
├── Dockerfile PHP镜像构建文件
├── extensions PHP扩展源码包
├── log 日志目录
├── mysql MySQL数据目录
├── docker-compose-sample.yml Docker 服务配置示例文件
├── 环境配置示例文件
└── www PHP代码目录
结构图:
![]()
2.快速使用
- 本地安装
git、docker和docker-compose$ git clone - 项目:on If不是用户
root,您还需要将当前用户添加到Docker‸用户组:‸文件(Windows请使用复制命令)来运行:$ cd dnmp $ cp env.sample .env $ cp docker-compose-sample.yml $ docker-compose up注意:如果您在Windows上安装360Security Guard,请先退出,否则安装过程中可能会停止Docker账户创建过程,导致启动时文件共享失败;
- 浏览器访问:
两个站点使用相同的 PHP 代码:./www/localhost/。
要编辑端口、日志文件位置等,请编辑 **.env** 文件,然后重建:
$ docker-compose build php54 # 重建单个服务 $ docker-compose build # 重建全部服务
3。切换 PHP 版本
默认情况下,我们同时创建 和 三个 PHP 版本的容器,
切换 PHP 只需要在相应网站编辑 gin_gi‼fa 选项即可,
示例 http: //localhost 使用 Nginx 配置:
fastcgi_pass php54:9000;
要使用它,请将其编辑为:
fastcgi_pass php72:9000;
然后 重新启动 Nginx⸸。 在开发过程中,我们经常可以使用 打开 ~/.bashrc 并添加: 生成的Log文件的位置取决于conf下各个日志配置的值。 Nginx协议是我们最常使用的协议,所以我们将其单独存放在根目录 大多数情况下,PHP-FPM 日志会发送到 Nginx 日志,因此无需额外配置。 另外,建议直接在PHP中打开错误日志: 如果确实需要,可以按照说明打开(在容器中)。 以上是日志文件配置。 我们建议在主机HOST中使用Composer,这样PHP容器就不会长大。 ? : 本项目默认设置$ docker exec -it dnmp_nginx_1 nginx -s reload
4。添加快捷命令
docker exec -it 来切换到容器。这是创建常用命令别名的轻松方法。 alias dnginx='docker exec -it dnmp_nginx_1 /bin/sh'alias dphp72='docker exec -it dnmp_php72_1 /bin/bash'alias dphp56='docker exec -it dnmp_php56_1 /bin/bash'alias dphp54='docker exec -it dnmp_php54_1 /bin/bash'alias dmysql='docker exec -it dnmp_mysql_1 /bin/bash'alias dredis='docker exec -it dnmp_redis_1 /bin/sh'
5。使用Log
5.1 Nginx协议
log。 log将目录/var/log/nginx映射到Nginx容器目录中,所以在需要打印日志的Nginx配置文件中,我们需要配置 /var/log/nginx 目录如: error_log /var/log/nginx/nginx.localhost.error.log warn;
5.2 PHP-FPM 协议
error_reporting(E_ALL);ini_set('error_reporting', 'on');ini_set('display_errors', 'on');$ docker exec -it dnmp_php_1 /bin/bash
$ mkdir /var/log/php
$ cd /var/log/php
$ touch
$ chmod a+w
conf/,找到以下行,取消注释并更改值为:php_admin_value[error_log] = /var/log/php/
mysql目录下,对应/var/lib/mysql/目录在容器目录中。 。 slow-query-log-file = /var/lib/mysql/mysql.slow.log
log-error = /var/lib/mysql/mysql.error.log
6。使用Composer
composer () {
tty=
tty -s && tty=--tty
docker run \
$tty \
--interactive \
--rm \
--user $(id -u):$(id -g) \
--volume ~/dnmp/composer:/tmp \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/group:/etc/group:ro \
--volume $(pwd):/app \
composer "$@"
}
source ~/.bashrc
cd ~/dnmp/www/
composer create-project yeszao/fastphp project --no-dev
--ignore-platform-req -no -脚本关闭依赖性检测。 {
"config": {},
"repositories": {
"packagist": {
"type": "composer",
"url": ""
}
}
}
7。数据库管理
有phpMyAdmin用于MySQL在线管理和phpRedis在线管理和phpRedis根据需要在线删除。 7.1 phpMyAdmin
3306
管理地址 repedphp❙7.2 主机的端口映射容器 phpRedisAdmin 为: 8081,所以主机上访问phpMyAdmin的地址为:
http://localhost:8081
Redis连接信息如下:
- 主机:(本项目的Redis容器网络)❙❀端口:
6379
8。在正式环境中安全使用
在正式环境中使用请:
- 关闭 XDebug
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网