littlebot
Published on 2025-04-12 / 4 Visits
0

【源码】基于 Docker 的 LNMP 一键安装系统

项目简介

本项目是基于 Docker 的全功能 LNMP 一键安装程序,名为 DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)。它能帮助用户快速在服务器上部署 LNMP 环境,大幅简化安装与配置流程。

项目的主要特性和功能

  1. 一键安装:通过脚本一键安装 Docker 和 Docker Compose,并利用 Docker 安装 DNMP 环境。
  2. 多服务管理:支持对 PHP、Nginx、MySQL、Redis 等服务进行管理,包括进入容器、重启服务、修改配置等操作。
  3. PHP 版本切换与扩展安装:可轻松切换 PHP 版本,还能方便地安装 PHP 扩展。
  4. Nginx 站点配置:可自定义 Nginx 站点配置,支持为网站免费添加 HTTPS。
  5. 日志管理:对 Nginx、PHP - FPM、MySQL 的日志进行管理。
  6. 可视化界面管理:提供 phpMyAdmin、phpRedisAdmin、Portainer 等可视化管理界面,方便对数据库和 Docker 进行管理。
  7. 自动化集成:集成 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 配置

  1. 安装 Gogs webhook 插件:打开系统管理 -> 管理插件 -> 可选插件,在右上角的输入框中输入“gogs”来筛选插件并安装。
  2. 构建任务
    • 点击新建任务,输入任务名,选择“构建一个自由风格的软件项目”。
    • 配置任务:添加任务描述,勾选 Gogs Webhook -> use Gogs sercret,源码管理其他设置成默认即可。
  3. Git 添加 webhook
    • 进入 Git 项目,点击【仓库设置 -> 管理 web 钩子 -> 添加 web 钩子 -> 选择 Gogs】,设置推送地址、触发事件,勾选是否激活。
    • 推送地址格式:http(s)://<你的 Jenkins 域名地址>:8083/gogs - webhook/?job=<你的 Jenkins 任务名>
  4. 测试配置是否成功:往 Git 中推送数据,查看 Jenkins 服务器端是否直接自动同步数据。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】