基于Dockerfile构建LNMP环境(php7+mysql+nginx) --原创

2023-11-03

构建LNMP环境(php7+mysql+nginx) –原创

经几个星期反复测试总结出了整个lnmp环境的Dockerfile文件,并已经适用于公司开发环境中。

centOS7.4.1708 + tengine-2.1.2 + php-7.0.17 + PHP扩展

PHP7扩展包括

PDO、PDO_MYSQL、GD、CURL、
mysqli、pcntl、soap、Redis、
mongodb、memcached、gearman、
zeromq、ICE

创建名为Dockerfile的文件

FROM centos:7.4.1708
MAINTAINER hanlc <282552154@qq.com>
RUN mkdir -p /data/software && mkdir -p /usr/local/webserver
ADD repo/ \
/data/software/
WORKDIR /data/software
#安装依赖
RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup && \
mv CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
RUN yum makecache && \
yum -y install gcc gcc-c++\
autoconf wget \
psmisc \
openssl openssl-devel \
gperftools-devel \
tar \
passwd \
openssh-server \
openssh-clients \
initscripts \
unzip pcre pcre-devel zlib zlib-devel git \
libxml2 libxml2-devel curl curl-devel \
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \
python-setuptools dos2unix gperf \
libevent libevent-devel bzip2-devel ncurses-devel \
boost libtool boost-devel* libuuid-devel python-sphinx.noarch &&\
yum clean all &&\
rm -rf /var/lib/apt/lists/* &&\
rm -rf /var/cache/yum
#用户账号设置
RUN echo 'root:123465' | chpasswd
RUN /usr/sbin/sshd-keygen
RUN /usr/sbin/groupadd oae &&/usr/sbin/useradd -r -m -s /bin/bash -g oae oae && echo "oae
ALL=(ALL) ALL" >> /etc/sudoers && echo 'root:123465' | chpasswd
#安装tengine
RUN wget https://gitee.com/hanlicun/ltmp/raw/master/src/pcre-8.10.tar.gz &&\
tar zxvf pcre-8.10.tar.gz &&rm -f pcre-8.10.tar.gz && \
cd pcre-8.10 &&./configure&& make&&make install && \
cd .. && rm -rf pcre-8.10 && \
wget https://gitee.com/hanlicun/ltmp/raw/master/src/tengine-2.1.2.tar.gz &&\
tar -zxvf tengine-2.1.2.tar.gz && rm -f tengine-2.1.2.tar.gz &&\
cd tengine-2.1.2 && \
./configure --prefix=/usr/local/webserver/tengine --user=oae --group=oae
--with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module &&\
make &&make install &&\
cd ../ && r
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Dockerfile构建LNMP环境(php7+mysql+nginx) --原创 的相关文章

随机推荐

  • 机考[71-80]

    华为机考 071 整数编码 072 整数对最小和 073 整型数组按个位值排序 074 执行时长 075 字符串变换最小字符串 076 字符串分割 077 字符串加密 078 字符串筛选排序 079 字符串统计 080 字符串序列判定 07
  • docker命令学习

    docker运行mysql并允许外网访问 docker run p 3306 3306 name mysql e MYSQL ROOT PASSWORD 123456 d docker io mysql latest p 外网映射 e设置m
  • 13. Jupyter Notebook介绍、安装及使用

    一 什么是Jupyter Notebook 1 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序 其可被应用于全过程计算 开发 文档编写 运行代码和展示结果 Jupyter Notebook官方介绍 简而言之 Jup
  • 《电子相框》--2.fb设备与图片显示

    接着上一篇博客的总结 继续项目的技术点展示 一 fb设备显示图片基础的步骤 1 确定打开的设备 一般设备在 dev fbxx 2 两个与显示有关的结构体变量 struct fb fix screeninfo finfo struct fb
  • ajax加密url参数,JS加解密URL参数encodeURIComponent() decodeURIComponent()

    参考1 http www w3school com cn js jsref encodeURIComponent asp 参考2 http www w3school com cn js jsref decodeURIComponent as
  • JS原型详解

    原型 原型是 JavaScript 面向对象特性中重要的概念 也是大家太熟悉的概念 因为在绝大多 数的面向对象语言中 对象是基于类的 例如 Java 和 C 对象是类实例化的结果 而在 JavaScript 语言中 没有类的概念 对象由对象
  • 用NCL将GRIB/GRIB2文件转成nc文件(批量转),JRA-55再分析为例

    背景 答主最近需要用到JRA 55再分析数据 但在面对GRIB数据格式时犯难了 便想把GRIB格式转成nc文件再做分析 因为nc文件很容易用python或Matlab处理 尝试了好些方法 发现先安装NCL再用ncl来批量转换 是一种比较便捷
  • windows下安装RabbitMQ

    目录 windows下载与安装 启动RabbitMQ 本篇博客下安装的均是目前最新版本 windows下载与安装 RabbitMQ官网 https www rabbitmq com 截止到现在RabbitMQ最新版本是3 10 7 Rabb
  • 【UE4】TSubclassOf模板类

    TSubclassOf是提供UClass类型安全性的模板类 模板类告知编辑器的属性窗口 只显示派生自AFPSProjectileActor的类 同时 这个参数在代码中也只接受派生自AFPSProjectileActor的类 当不加TSubc
  • docker标准输出日志存储位置,设置docker日志文件大小

    目录标题 docker日志存储位置 docker容器日志导致磁盘空间爆满 设置docker容器日志大小 全局设置 k8s中的容器日志 docker日志存储位置 在Linux系统中docker启动后日志存储在 var lib docker c
  • JSON parse error: Cannot deserialize value of type `java.util.Date` from String 2023-02-19 00:00:00

    问题描述 正常post请求然后接日期参数的时候报的异常 解决方案 添加 JsonFormat pattern yyyy MM dd HH mm ss timezone GMT 8 DateTimeFormat是用来格式化parm传参的 而接
  • 走进 San CLI(上):使用介绍

    本文是 San CLI 的使用和原理的第一篇 主要介绍 San CLI 的初衷和使用 下一篇介绍具体的实现原理 什么是 CLI CLI 是命令行界面 command line interface 的英文缩写 命令行界面是在图形用户界面得到普
  • Qt 实现按分钟更新显示当前时间

    以下方法分享按分钟更新时间 希望对大家有帮助 QTimer timer new QTimer this timer gt setSingleShot true connect timer SIGNAL timeout this SLOT u
  • npm未能加载Visual C++组件,解决办法win10

    错误提示如下 以管理员身份运行 Windows PowerShell npm install global production windows build tools npm install g node gyp
  • i2c-tools-v3.1.2移植

    1 工具 2 放到linux中解压 3 配置Makefile 4 make 成功后会在tools目录下生成 i2cdetect i2cdump i2cget i2cset等工具 5 将i2cdetect放到终端
  • postgresql 操作查询jsonb数据

    1 操作键值对 PostgreSQL 对 jsonb 类型的筛选查询可以使用 gt 或者 gt gt 操作符 gt 操作符用于通过 JSON 对象中的键来获取对应的值 gt gt 操作符可以将获取到的值转化为字符串类型 例如 下面是一个包含
  • UI自动化测试定位元素工具--Weditor

    Weditor 前置条件 1 安装Pycharm 2 终端中输入 pip install weditor安装weditor 使用方法 weditor启动 python m weditor 连接设备成功后 可以看到入下图 主要有5个区域 红色
  • nth_element详解

    nth element 是c 的STL库中的函数 作用是将数组中第k小的整数放在区间第k个位置 比如a 6 2 5 6 4 7 8 使用nth element a a 3 a 6 后 区间中第四个数 也就是a 3 会被放入数组中第四小的数
  • 创建本地docker镜像仓库并push和pull

    解决如何在服务器上 或本地 创建docker镜像仓库并push镜像到本地仓库 然后从其他机器上pull本地仓库镜像 1 启动镜像registry 2 docker run d p 5000 5000 restart always name
  • 基于Dockerfile构建LNMP环境(php7+mysql+nginx) --原创

    构建LNMP环境 php7 mysql nginx 原创 经几个星期反复测试总结出了整个lnmp环境的Dockerfile文件 并已经适用于公司开发环境中 centOS7 4 1708 tengine 2 1 2 php 7 0 17 PH