Rocky Linux Docker Compose + 容器化LNMP部署完全指南
一、方案概述1.架构说明本方案基于Docker容器化技术部署LNMP栈(Nginx+MariaDB+PHP-FPM),相比传统RPM部署,具有环境一致性高、迁移便捷、版本切换灵活、资源隔离度高的优势,适合多环境统一部署、多站点管理的场景。所有组件均采用官方稳定版镜像,无需手动编译配置配置文件、站点数据、数据库数据全部持久化到宿主机,容器销毁不丢失数据一键启动/停止/升级全栈服务,运维成本极低2.环境要求操作系统:RockyLinux8.x/9.x硬件配置:2核CPU/2GB内存/20GB以上存储空间网络要求:服务器可访问外网,80/443端口按需开放权限要求:root或sudo管理员权限二、前置系统配置#1.替换国内YUM源并更新系统sudosed-e's|^mirrorlist=|#mirrorlist=|g'\-e's|^#baseurl=http://dl.rockylinux.org|baseurl=https://mirrors.aliyun.com/rocky|g'\-i.bak/etc/yum.repos.d/Rocky-*.reposudodnfupdate-ysudodnfinstall-yepel-releasevimwgetnet-toolscurl#2.关闭防火墙(测试环境可选,生产环境按需开放端口)sudosystemctlstopfirewalldsudosystemctldisablefirewalld#3.关闭SELinuxsudosetenforce0sudosed-i's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config#4.加载内核模块,优化容器网络性能sudomodprobeoverlaysudomodprobebr_netfiltersudocat/etc/sysctl.d/docker.confEOFnet.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=1net.ipv4.ip_forward=1EOFsudosysctl--system三、安装Docker与DockerCompose1.安装Docker引擎(官方源方式,稳定可靠)#安装Docker依赖包sudodnfinstall-yyum-utilsdevice-mapper-persistent-datalvm2#添加Docker官方YUM源sudoyum-config-manager--add-repohttps://download.docker.com/linux/rocky/docker-ce.repo#替换为国内镜像源加速下载sudosed-i's+download.docker.com+mirrors.aliyun.com/docker-ce+'/etc/yum.repos.d/docker-ce.repo#安装最新稳定版Dockersudodnfinstall-ydocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin#启动Docker服务并设置开机自启sudosystemctlstartdockersudosystemctlenabledocker#验证Docker安装dockerversion#输出Client和Server版本信息即为安装成功2.配置Docker镜像加速(国内环境必配)sudomkdir-p/etc/dockersudocat/etc/docker/daemon.jsonEOF{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"],"exec-opts":["native.cgroupdriver=systemd"],"log-driver":"json-file","log-opts":{"max-size":"100m","max-file":"3"},"storage-driver":"overlay2"}EOF#重启Docker服务生效sudosystemctldaemon-reloadsudosystemctlrestartdocker#验证镜像加速配置dockerinfo#输出RegistryMirrors包含刚才配置的地址即为成功3.安装DockerComposeDocker官方已将Compose整合为Docker插件,安装Docker时已默认安装,验证方式:dockercomposeversion#输出DockerCompose版本信息即为正常如需单独安装可使用二进制方式:sudocurl-L"https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-composesudochmod+x/usr/local/bin/docker-composedocker-composeversion四、容器化LNMP部署全流程1.规划目录结构(所有数据持久化到宿主机)#创建统一LNMP部署根目录sudomkdir-p/data/docker/lnmp/{nginx/conf.d,nginx/html,nginx/logs,php/conf,php/logs,mariadb/data,mariadb/logs,redis/data}#切换到部署目录cd/data/docker/lnmp目录结构说明:/data/docker/lnmp├──docker-compose.yml#核心编排配置文件├──nginx│├──conf.d#Nginx虚拟主机配置目录│├──html#站点根目录,所有网站文件存放此处│└──logs#Nginx访问日志、错误日志├──php│├──conf#PHP自定义配置文件│└──logs#PHP错误日志├──mariadb│├──data#数据库数据文件,持久化存储│└──logs#数据库日志└──redis(可选)└──data#Redis数据文件2.编写docker-compose.yml核心编排文件sudocatdocker-compose.ymlEOFversion:'3.9'networks:lnmp-network:driver:bridgeservices:#Nginx服务nginx:image:nginx:stable-alpinecontainer_name:lnmp-nginxports:-"80:80"-"443:443"volumes:-./nginx/conf.d:/etc/nginx/conf.d-./nginx/html:/usr/share/nginx/html-./nginx/logs:/var/log/nginx
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2422274.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!