热门标签 | 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


推荐阅读
  • 阿里云服务器搭建详解——Ubuntu
    由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器。听朋友说,学生买的话是非常便宜 ... [详细]
  • 本文详细介绍了在Mac平台上安装和配置MySQL的步骤,包括下载安装包、卸载MySQL以及解决命令行中找不到mysql命令的问题。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 尽管Medium是一个优秀的发布平台,但在其之外拥有自己的博客仍然非常重要。这不仅提供了另一个与读者互动的渠道,还能确保您的内容安全。本文将介绍如何使用Bash脚本将Medium文章迁移到个人博客。 ... [详细]
  • Linux bash 命令行下实现可视化文件或文件夹浏览
    Linuxbash命令行下实现可视化文件或文件夹浏览  有时候部署环境,需要配置文件路径或者载入相应的配置文件。这种情况下,如果用传统的手动修改配置的方式配置,会比较容易出意外(比 ... [详细]
  • Docker 环境下 MySQL 双主同步配置指南
    本文介绍了如何在 Docker 环境中配置 MySQL 的双主同步,包括目录结构的创建、配置文件的编写、容器的创建与设置以及最终的验证步骤。 ... [详细]
  • 本文介绍了如何创建和运行一个简单的 Bash 脚本,包括创建脚本文件、编写输出指令、赋予执行权限和运行脚本的基本步骤。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • Docker 中创建 CentOS 容器并安装 MySQL 进行本地连接
    本文详细介绍了如何在 Docker 中创建 CentOS 容器,并在容器中安装 MySQL 以实现本地连接。文章内容包括镜像拉取、容器创建、MySQL 安装与配置等步骤。 ... [详细]
  • 本文详细记录了使用 Docker 创建和管理自定义网络的命令,包括创建指定子网的网络、删除网络以及在指定网络中运行容器的具体操作。 ... [详细]
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社区 版权所有