项目简介
本项目是基于 Docker 的全功能 LNMP 一键安装程序,名为 DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)。它能帮助用户快速在服务器上部署 LNMP 环境,大幅简化安装与配置流程。
项目的主要特性和功能
- 一键安装:通过脚本一键安装 Docker 和 Docker Compose,并利用 Docker 安装 DNMP 环境。
- 多服务管理:支持对 PHP、Nginx、MySQL、Redis 等服务进行管理,包括进入容器、重启服务、修改配置等操作。
- PHP 版本切换与扩展安装:可轻松切换 PHP 版本,还能方便地安装 PHP 扩展。
- Nginx 站点配置:可自定义 Nginx 站点配置,支持为网站免费添加 HTTPS。
- 日志管理:对 Nginx、PHP - FPM、MySQL 的日志进行管理。
- 可视化界面管理:提供 phpMyAdmin、phpRedisAdmin、Portainer 等可视化管理界面,方便对数据库和 Docker 进行管理。
- 自动化集成:集成 Jenkins,可实现项目代码与 Git 同步,支持自动化部署。
安装使用步骤
安装
假设用户已经下载了本项目的源码文件,可按以下步骤进行安装:
1. 一键安装 Docker 和 DNMP
- 使用 docker_install.sh
脚本(redhat 系列 linux)。
- 使用 su -
切换到 root 用户。
- 执行 chmod a+x docker_install.sh
给脚本添加可执行权限。
- 执行 sh docker_install.sh
,等待安装完毕(默认的 DNMP 安装在 /wwwroot
下面)。
2. 修改配置(可选):要修改端口、日志文件位置、以及是否替换 source.list
文件等,请修改 .env
文件,然后重新构建:
- 重建单个服务:docker-compose build php
- 重建全部服务:docker-compose build
测试安装是否成功
在浏览器中访问以下地址进行测试:
- http://虚拟机的 ip 地址
:默认 http 站点。
- https://虚拟机的 ip 地址
:自定义证书 https 站点,访问时浏览器会有安全提示,忽略提示访问即可。
- http://虚拟机的 ip 地址:9080
:可打开 phpMyAdmin 的面板操作数据库。
- http://虚拟机的 ip 地址:9081
:可打开 phpRedisAdmin。
- http://虚拟机的 ip 地址:8888
:可打开 Docker 的图形化管理工具,账号为 admin
,密码为 123123123
。
服务管理
PHP 服务管理
- 进入 PHP 容器:
docker exec -it dnmp - php sh
- 重启 PHP 服务:
docker - compose restart php
Nginx 服务管理
- 重启 Nginx:
docker exec dnmp - nginx nginx - s reload
MySQL 服务管理
- 进入 MySQL 容器:
docker exec -it dnmp - mysql sh
- 容器内连接:
mysql -uroot -p123456
- 外部宿主机连接:
mysql -h 127.0.0.1 -P 3308 -uroot -p123456
Redis 服务管理
- 连接 Redis 容器:
docker exec -it dnmp - redis redis - cli -h 127.0.0.1 -p 63789
- 单独重启 Redis 服务:
docker - compose up --no - deps -d redis
- 外部宿主机连接:
redis - cli -h 127.0.0.1 -p 63789
Jenkins 配置
- 安装 Gogs webhook 插件:打开系统管理 -> 管理插件 -> 可选插件,在右上角的输入框中输入“gogs”来筛选插件并安装。
- 构建任务
- 点击新建任务,输入任务名,选择“构建一个自由风格的软件项目”。
- 配置任务:添加任务描述,勾选 Gogs Webhook -> use Gogs sercret,源码管理其他设置成默认即可。
- Git 添加 webhook
- 进入 Git 项目,点击【仓库设置 -> 管理 web 钩子 -> 添加 web 钩子 -> 选择 Gogs】,设置推送地址、触发事件,勾选是否激活。
- 推送地址格式:
http(s)://<你的 Jenkins 域名地址>:8083/gogs - webhook/?job=<你的 Jenkins 任务名>
- 测试配置是否成功:往 Git 中推送数据,查看 Jenkins 服务器端是否直接自动同步数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】