Docker一键部署LNMP
项目地址#
Github 项目地址: https://github.com/ZvonimirSun/dnmp
简介#
通过 Docker 一键部署 LNMP。包含以下内容:
- nginx:alpine
- 说明
- 已支持
TLS 1.3
- 已支持
- 网站目录:
./nginx/html
(docker 内/usr/share/nginx/html
) - 虚拟主机配置目录:
./nginx/conf.d
(docker 内/etc/nginx/conf.d
)
- 说明
- mysql:5
- 数据库目录:
./mysql
- 数据库目录:
- php:7-fpm-alpine:
- 说明
- 基于初始镜像额外安装了
pdo_mysql
、mysqli
、gd
插件。 - 若想安装其他插件,请自行修改
Dockerfile
。
- 基于初始镜像额外安装了
php.ini
目录:./php-fpm
- 说明
- acme.sh
- 说明:
- 用于申请 ssl 证书。
- 使用方法:参考官方文档
- 证书存储目录:
./ssl
- 说明:
安装#
- 请确保已经安装
docker
和docker-compose
。 - 将项目 clone 到本地
- 在
docker-compose.yml
文件中更改你需要的端口和数据库密码。 - 执行
docker-compose up -d
,并等待启动完成。
常见问题#
Nginx:
- 检查 Nginx 配置:
docker exec nginx nginx -t
- Nginx 重载配置:
docker exec nginx nginx -s reload
- 配置:
- 启用
php
:include enable-php.conf
- 启用带
pathinfo
的php
:include enable-php-pathinfo.conf
- 启用
HSTS
:add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
(此句可根据需要适当调整)
- 启用
php:
- 安装插件 (以 pdo_mysql 为例):
docker exec php docker-php-ext-install pdo_mysql
- 最好修改
Dockerfile
实现,否则无法保留
- 访问地址:
docker
中访问php
:http://php:9000
mysql:
- 访问地址
docker
中访问mysql
地址:http://mysql:3306
- 宿主机访问
mysql
地址:http://localhost:3306
- 如需外部访问 mysql,请自行修改 mysql 的端口映射为
3306:3306
,并放开防火墙。 - 连接数据库:
docker-compose exec mysql mysql -u root -p
作者:流星残阳
出处:https://www.cnblogs.com/liu-im/p/17676564.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构