『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

在当今的软件开发领域,Docker已经成为了一种非常流行的容器化技术,通过Docker来开发和部署已经是常见的做法了,Docker可以消除因环境差异导致的问题,确保每个环境中都运行着相同的PHP版本和配置。

还记得有次项目就是因为本地与线上PHP版本不一致,导致bug产生!!!

PHP 作为吃饭的工具,自然是必不可少的。所以今天就来分享一下如何在Linux服务器上通过 Docker 来搭建 PHP 环境的。

服务器准备

因为AWS新用户可以免费1年使用,能白嫖肯定不能放过,所以服务器使用AWS

  • 创建实例
    登录进AWS
    控制台 > 计算 > EC2

    • 选择实例的地区,点击启动新实例 『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第1张图片
    • 选择实例系统,配置秘钥,配置存储
      秘钥文件要保存好,登录需要!!!
      信息填写完成后,点击启动即可
      『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第2张图片
    • 修改卷大小
      如果刚才配置的时候没有修改,默认大小是8G,但是免费套餐中每个月可以使用30G。
      要是没有修改的,可以调整下卷的大小到30G
      点击实例,点击实例ID
      『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第3张图片
      『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第4张图片
      『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第5张图片
      『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第6张图片
      『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第7张图片
      这样我们就可以得到30G的存储了
  • 连接实例
    我们使用 EC2 Instance Connect 进行连接
    『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第8张图片
    『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第9张图片
    『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第10张图片
    这样就连接成功了。

Dockerfile PHP环境搭建

首先要确定安装了docker,我们可以使用以下命令来检查是否已安装Docker:

docker -v

该命令会显示已安装的Docker版本,如果未安装Docker,则会提示找不到该命令。
如果没有安装docker,则先安装下docker环境

sudo yum install docker
步骤一:创建一个Dockerfile

Dockerfile是由一行行指令语句构成的一个创建docker镜像的配置文件。

Dockerfile是由三个部分组成:基础镜像(必须的)、运行指令、容器默认执行命令

我们创建一个目录/www/php作为项目根目录并在项目的根目录中创建一个名为Dockerfile的文件。Dockerfile是用来定义Docker镜像中的环境的。

mkdir -p /www/php
cd /www/php
touch dockerfile
步骤二:定义基础镜像

编写Dockerfile内容:在Dockerfile中,可以使用FROM指令指定基础镜像,比如使用官方的PHP镜像。然后使用RUN指令安装所需的PHP扩展、工具和依赖。

FROM php:7.4-apache
RUN apt-get update \
&& apt-get install -y \
git \
zip \
unzip \
&& docker-php-ext-install mysqli pdo_mysql

在上面的文件中我们使用了官方的PHP 7.4-apache镜像作为基础镜像,并且通过apt-get命令安装所需的依赖,并使用docker-php-ext-install命令安装PHP的扩展。

步骤三:构建镜像

在项目的根目录中,运行以下命令构建docker镜像

docker build -t my-php .

注: 最后的 . 代表本次执行的上下文路径。

这个命令会根据Dockerfile文件构建一个名为my-php的镜像。

可以运行 docker images 查看我们创建的镜像
在这里插入图片描述

步骤四:创建容器

使用以下命令创建一个容器,并将你的项目代码挂载到容器中:

docker run -d -p 80:80 -v /www/php:/var/www/html my-php

我们可以使用docker ps 查看下我们的创建的容器
在这里插入图片描述
我们测试下环境是否可以正常访问
在项目的根目录下创建index.php文件

vim /www/php/index.php
# 写入以下内容

访问我们的服务器的80端口显示以下内容,说明环境可以正常访问没有问题
『亚马逊云科技产品测评』活动征文| 基于EC2快速搭建php环境_第11张图片
这样我们就创建了一个php7.4环境

你可能感兴趣的:(科技,php,开发语言)