怎么用Docker快速构建LEMP环境
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,今天小编给大家分享一下怎么用Docker快速构建LEMP环境的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面
千家信息网最后更新 2025年02月01日怎么用Docker快速构建LEMP环境
今天小编给大家分享一下怎么用Docker快速构建LEMP环境的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
容器
容器名 | 版本 |
metowolf/php | 7.3.1, 7.3, 7, current |
metowolf/nginx | 1.15.8, 1.15, 1, current |
mysql/mysql-server | 8.0.15 |
phpmyadmin/phpmyadmin | 4.8.5 |
abiosoft/caddy | 0.11.2 |
redis | 5.0.3-alpine |
演示
下面我用一个简单的例子做个示范。
首先需要安装 docker 和 docker-compose 两个环境。为了方便演示,这里直接使用 pwd 的试用主机来运行。
$ curl -fssl https://get.docker.com -o get-docker.sh$ sh get-docker.sh$ curl -l "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose$ chmod +x /usr/local/bin/docker-compose
登陆服务器,拉取编排模板
$ git clone https://github.com/metowolf/docker-lemp.git$ cd docker-lemp
创建配置文件
$ cp .env.example .env$ cp docker-compose.example.yml docker-compose.yml
创建 nginx 配置
$ cat > etc/nginx/config/example.conf <创建 phpinfo 文件
$ mkdir wwwroot/example.com/$ cat > wwwroot/example.com/index.php <启动容器
$ docker-compose up -d php-fpm nginx mysql启动成功后,如果没有意外,我们就能在 80 端口看到熟悉的页面了。
高级玩法
quic
在编排示例中,我添加了一个 caddy 来反代 nginx,以此来获得 quic 特性。借助 docker 的特性,我们可以让 caddy 单独监听 443 udp 端口,让 nginx 依旧监听 443 tcp 端口,这样可以同时兼顾 tlsv1.3 和 quic。
nginx 配置中需要添加一个返回头,提醒浏览器尝试连接 quic
add_header alt-svc 'quic=":443"; ma=2592000; v="44,43,39"';brotli
在 nginx 容器中,我将 brotli 编译成动态模块,可以根据需要开启。
新建 etc/nginx/nginx.conf 配置文件
user nginx;worker_processes auto;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;# 挂载 brotli 模块load_module modules/ngx_http_brotli_filter_module.so;load_module modules/ngx_http_brotli_static_module.so;events { worker_connections 1024;}http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf;}新建 etc/nginx/config/brotli.conf 配置文件
brotli on;brotli_comp_level 6;brotli_types application/x-httpd-php application/javascript application/x-javascript application/xml application/json text/plain text/javascript text/css text/xml image/jpeg image/gif image/png image/svg+xml;修改 docker-compose.yml 挂载 nginx.conf 配置文件
--- docker-compose.yml+++ docker-compose.yml@@ -11,6 +11,7 @@ - php-fpm volumes: - ./log/nginx:/var/log/nginx:rw+ - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:rw - ./etc/nginx/config:/etc/nginx/conf.d:rw - ./etc/ssl:/etc/nginx/ssl:rw - ./wwwroot:/var/www:rw@@ -65,6 +66,8 @@最后更新容器编排即可
$ docker-compose up -d --no-deps --build以上就是"怎么用Docker快速构建LEMP环境"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
配置
容器
文件
知识
篇文章
环境
端口
内容
模块
特性
更新
演示
监听
不同
很大
高级
意外
成功
两个
主机
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
excel数据库破解软件
什么软件开发上位机
DB数据库怎么导出表数据
社交电商新零售软件开发
通信猫调试软件模拟服务器
网络技术计划教学ppt
如何保证数据库安全和完整性
pda软件开发企业
数据库类图和表格一样吗
思科网络技术第三章
违反网络安全分析通报
话饭圈乱象绘网络安全
陕西软件开发与定制
达梦数据库备份导出
session清除数据库
河南省航测集成服务器
软件开发者需要哪些技术
网络安全转专业面试题目
放火墙后面为什么要放储存服务器
数据库安全性 教案
原有软件开发接口
如何将数据追加到数据库
网络安全保护下载
v2rayng购买服务器
中专计算机网络技术工资
软件开发毕业设计可以做什么
网络安全检测装起什么作用
普陀区自动化软件开发价格查询
新吴区常见软件开发注意事项
宁波盛游网络技术