热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker下安装配置lnmp环境

前提:已经成功安装Docker创建mysql容器执行以下命令创建容器dockerrun-d-p3306:3306-eMYSQL_ROOT_PASSWORDwqg951122--na






前提:已经成功安装Docker



创建mysql容器


执行以下命令创建容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=wqg951122 --name woann_mysql mysql:5.6

参数说明


  • -d 让容器在后台运行

  • -p 添加主机到容器的端口映射(hostPort:containerPort)

  • -e 设置环境变量,这里是设置mysql的root用户的初始密码*

  • –name 容器的名字,随便取,但是必须唯一


进入到容器(其他容器进入方法都是一样的,替换容器名执行命令即可)

docker exec -ti woann_mysql /bin/bash

参数说明


  • -t 在容器里生产一个伪终端

  • -i 对容器内的标准输入 (STDIN) 进行交互


安装vim(每个创建的容器都要执行此步骤,后续忽略)

刚创建的容器没有安装vim,所以要手动安装,先执行

apt update

再执行

apt-get install vim

安装完毕即可


创建php容器


执行以下命令创建容器

docker run -d -v /home/wwwroot:/home/wwwroot -p 9000:9000 --link woann_mysql:mysql --name woann_phpfpm php:7.2-fpm

参数说明


  • -d 让容器在后台运行

  • -p 添加主机到容器的端口映射

  • -v 添加目录映射,即主机上的/home/wwwroot和容器中/home/wwwroot目录是同步的

  • –name 容器的名字

  • –link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务。

    这里如果不指定–link参数其实也是可以得,因为容器本身也是有ip的且唯一,所以我们也可以直接利用ip去访问容器。

    添加php测试文件

    /home/wwwroot目录下添加测试php文件index.php

    内容:

    phpinfo();

    创建nginx容器


    执行以下命令创建容器

    docker run -d -p 80:80 -v /home/wwwroot:/home/wwwroot --link woann_phpfpm:phpfpm --name woann_nginx nginx

    参数说明:


  • -d 让容器在后台运行

  • -p 添加主机到容器的端口映射

  • -v 添加目录映射,这里最好nginx容器的根目录最好写成和php容器中根目录一样。但是不一点非要一模一样,如果不一样在配置nginx的时候需要注意

  • –name 容器的名字

  • –link 与另外一个容器建立起联系


进入到nginx容器修改配置文件


  • nginx配置文件目录在/etc/nginx/目录下

  • 主配置文件为/etc/nginx/nginx.conf

  • 引用配置文件为/etc/nginx/conf.d/*.conf

  • nginx默认创建了一个引用配置文件(/etc/nginx/conf.d/default.conf)

    执行

    vim /etc/nginx/conf.d/default.conf

    添加如下代码,让nginx接收到php请求时自动转发到phpfpm容器

    location ~ \.php$ {
    root /home/wwwroot;
    fastcgi_pass phpfpm:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    测试结果


    查看刚才创建的所有容器

    docker ps

    该命令查看所有正在运行的容器,如查看所有,在命令后加-a

    如下图所示



测试

用浏览器访问http://127.0.0.1/index.php,即可看到phpinfo的信息页面。至此lnmp搭建完毕。




php
laravel
LNMP


推荐阅读
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
author-avatar
Luuuuuuuucy22
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有