5 Star 38 Fork 10

khs1994-docker / lnmp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.cn.md 10.81 KB
一键复制 编辑 原始数据 按行查看 历史
khs1994 提交于 2023-05-14 13:45 . Merge branch '20.10'

LNMP Docker

GitHub stars GitHub release GitHub (pre-)release license Build Status

star

:computer: :whale: :elephant: :dolphin: :penguin: :rocket: 使用 Docker Compose 快速搭建 LNMP 环境,仅需 一条命令 $ ./lnmp-docker up

企业版 个性化定制请访问 lnmp-ee

Platform Status
Windows Build status
Linux Build Status
macOS CI
Linux arm64v8 -

本项目支持 x86_64 架构的 Linux,macOS,Windows 10 并且支持 arm 架构的 Debian(树莓派)。

:warning: 除了 .env 等特定文件,本项目中的任何文件严禁二次修改。为什么?

:warning: Windows Docker 非常不稳定,且运行 Laravel 响应较慢。解决办法

:gift: 为了本项目的持续发展,你可以使用 推广产品 或直接 打赏 赞助本项目。

微信订阅号

关注项目作者微信订阅号,接收项目最新动态

准备

本项目需要以下软件:

:one: Git

:two: Docker 20.10 Stable +

:three: Docker Compose v2.17.0+

:four: WSL (Windows Only)

快速上手

Windows 10

如果你使用的是 Windows 10 请查看 支持文档

安装

鉴于国内 clone GitHub 项目较慢,本项目在 gitee.com 托管,每日集成到 GitHub,建议国内用户使用中国镜像,技术交流请到本项目 GitHub,避免在 gitee.com 提 issue 或 PR。

$ git clone --depth=1 https://github.com/khs1994-docker/lnmp.git

# $ git clone --depth=1 git@github.com:khs1994-docker/lnmp.git

# 从 GitHub 克隆太慢?请使用中国镜像

$ git clone --depth=1 https://gitee.com/khs1994-docker/lnmp.git

# $ git clone --depth=1 git@gitee.com:khs1994-docker/lnmp.git

启动 LNMP Demo

$ cd lnmp

$ ./lnmp-docker up

$ curl 127.0.0.1

Welcome use khs1994-docker/lnmp v20.10 x86_64 With Pull Docker Image

development

:bulb: MySQL 默认 ROOT 密码为 mytest

PHP 项目开发

./app/ 下新建一个文件夹作为 PHP 项目开发目录,并在 ./config/nginx/ 新建一个 nginx 配置文件。

你也可以使用以下命令快速的新建一个 PHP 项目,并完成后续一系列配置(生成 nginx 配置、申请 SSL 证书)。

# $ ./lnmp-docker new

$ ./lnmp-docker restart nginx

你可以通过设置 APP_ROOT 来改变 PHP 项目文件夹所在位置。

更多信息请查看 LNMP 容器化最佳实践 https://github.com/khs1994-docker/php-demo

如何连接服务

$redis = new \Redis();

- $redis->connect('127.0.0.1',6379);
+ $redis->connect('redis', 6379);

- $pdo = new \PDO('mysql:host=127.0.0.1;dbname=test;port=3306','root','mytest');
+ $pdo = new \PDO('mysql:host=mysql,dbname=test,port=3306', 'root', 'mytest');

进阶

PHPer 常用命令

  • lnmp-php

  • lnmp-composer

  • lnmp-phpunit

  • lnmp-laravel

  • ...

更多信息请请查看 支持文档

一键申请 SSL 证书

acme.sh 提供支持

$ ./lnmp-docker ssl khs1994.com -d *.khs1994.com

使用前请提前在 .env 文件或系统环境变量中设置 DNS 服务商的相关密钥。也支持一键生成自签名 SSL 证书,更多信息请查看 支持文档

查看详情

$ docker container ls -a -f label=com.khs1994.lnmp

自行构建 LNMP 镜像

如果要使用自行构建的镜像请查看 支持文档

重启

# 全部重启
$ ./lnmp-docker restart

# 重启指定软件
$ ./lnmp-docker restart nginx php8

停止

$ ./lnmp-docker stop

销毁

$ ./lnmp-docker down

项目说明

支持特性

请查看 支持文档

包含软件

Name Docker Image Version Based
ACME.sh khs1994/acme:3.0.0 3.0.0 alpine:3.16
NGINX nginx:1.23.3-alpine 1.23.3 alpine:3.13
NGINX Unit khs1994/php:8.2.3-unit-alpine 1.28.0 alpine:3.16
HTTPD httpd:2.4.53-alpine 2.4.53 alpine:3.16
MySQL mysql:8.0.33 8.0.33 oraclelinux:8-slim
MariaDB mariadb:10.8.3 10.8.3 ubuntu:jammy
Redis redis:7.0.0-alpine 7.0.0 alpine:3.16
PHP-FPM khs1994/php:8.2.3-fpm-alpine 8.2.3 alpine:3.16
Composer khs1994/php:8.2.3-composer-alpine 2.5.5 alpine:3.16
Memcached memcached:1.6.15-alpine 1.6.15 alpine:3.16
RabbitMQ rabbitmq:3.9.0-management-alpine 3.9.0 alpine:3.13
PostgreSQL postgres:14.0-alpine 14.0 alpine:3.14
MongoDB mongo:5.0.3 5.0.3 ubuntu:bionic
PHPMyAdmin phpmyadmin:5.2.0 5.2.0 alpine:3.16
Registry registry:latest latest alpine:3.11

文件夹结构

文件夹 说明
app 项目文件(HTML, PHP, etc)
scripts/backup 备份文件
bin PHPer 常用命令
config 配置文件
dockerfile 自定义 Dockerfile
log 日志文件
scripts 用户自定义脚本文件

端口暴露

  • 80
  • 443

命令行工具

为简化操作方式,本项目提供了 交互式 的命令行工具 ./lnmp-docker

生产环境用户

khs1994.com

PCIT -- PHP CI TOOLKIT

项目国内镜像

HTTP3/QUIC

请查看 https://github.com/khs1994-docker/lnmp/issues/895

CI/CD

请使用 khs1994-docker/ci

支持文档

https://docs.lnmp.khs1994.com

贡献项目

请查看:如何贡献

感谢

更多资料

赞助项目

请访问 https://zan.khs1994.com

数据收集

本项目每日默认会将用户的系统和 IP 信息发送到数据收集服务器。建议用户保持开启状态来帮助提升本项目。

你可以通过在 .env 文件中设置 DATA_COLLECTION=false 来禁用数据收集服务。

Docker
1
https://gitee.com/khs1994-docker/lnmp.git
git@gitee.com:khs1994-docker/lnmp.git
khs1994-docker
lnmp
lnmp
master

搜索帮助