docker制作php5.4运行环境镜像

1.下载镜像

docker pull centos:7

或者在控制面板下

2.运行centos7镜像的容器,edncenos7 是新生成的容器名称

## --name 新名字
docker run -it --name edncenos7 c9a1fdca3387 /bin/bash

 3.在容器内下载php5.4等插件,以便提交成为新镜像

wget --no-check-certificate  https://www.php.net/distributions/php-5.4.45.tar.gz

 运行报错,找不到wget,先使用yum install 安装一下,然后重新运行第3步

 4.下载完成,您可以使用以下命令解压源码:

tar -xf php-5.4.45.tar.gz

5.安装编译PHP所需的依赖项。在CentOS 7上,您可以使用以下命令来安装这些依赖项

yum install -y gcc make zlib-devel libxml2-devel openssl-devel bzip2-devel

6.进入解压后的PHP源码目录,并执行以下命令来配置编译选项:

#进入目录
cd php-5.4.45

#编译安装
./configure --prefix=/usr/local/php --with-config-file-path=/etc/php --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-mysql --with-mysqli --with-pdo-mysql --with-openssl --enable-mbstring --enable-zip --enable-gd-native-ttf --enable-ftp --enable-gd-native-ttf --with-curl --with-xmlrpc --enable-sockets --enable-intl

 configure: error: cannot guess build type; you must specify one

解决方案我们指定一下build值,在上面的命令中加入下面的代码 --build=arm-linux 重新执行

##error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/
yum -y install curl-devel

##error: Unable to detect ICU prefix or no failed.  Please verify ICU install prefix and make sure icu-config works.
yum install libicu-devel

##error: C++ preprocessor "/lib/cpp" fails sanity check
yum install glibc-headers
yum install gcc-c++

其他错误从下面的地址里找答案,或者百度下都能解决本文不做过多说明

php源代码安装常见错误与解决办法分享_php技巧_脚本之家

linux编译安装时常见错误解决办法_icu-config-CSDN博客

 看到这个提示就代表配置成功了

 7.使用以下命令进行编译和安装:

make
make install

二、安装nginx 

#nginx 依赖的一些 lib 库:
yum install gcc-c++ 
yum install pcre pcre-devel 
yum install zlib zlib-devel 
yum install openssl openssl--devel

#检查一下安装已有的 nginx
find -name nginx

#如果系统安装了Nginx,那么卸载
yum remove nginx

#然后开始安装,首先进入 /usr/local 目录
cd /usr/local

#下载安装包
wget -c http://nginx.org/download/nginx-1.12.1.tar.gz

#解压
tar -zxvf nginx-1.12.1.tar.gz

2.使用 --prefix 参数指定 nginx 安装的目录,make、make install 安装

wget --no-check-certificate  https://github.com/cfsego/file-md5/archive/master.zip

像我就没法直接下载 

  修改一下hosts文件

vi /etc/hosts  

20.205.243.166 github.com

如果不能安装,文件我放到文章最后了可以自己去下然后传到自己的镜像里

 3.解压文件

unzip file-md5-master.zip

4.编译配置项

#创建nginx用户
#设置shell不能登陆,不创建家目录
useradd -s /bin/nologin -M nginx

#编译配置
./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --with-http_ssl_module --add-module=file-md5-master --with-debug

nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/etc/nginx"
  nginx configuration file: "/etc/nginx/nginx.conf"
  nginx pid file: "/var/run/nginx/nginx.pid"
  nginx error log file: "/var/log/nginx/error.log"
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "/var/tmp/nginx/client"
  nginx http proxy temporary files: "/var/tmp/nginx/proxy"
  nginx http fastcgi temporary files: "/var/tmp/nginx/fastcgi"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp" 

5. 编译安装

make
make install

启动和停止 nginx

cd /usr/local/nginx/sbin 
./nginx 
./nginx -s stop
 ./nginx -s quit 
./nginx -s reload 
./nginx -s quit

 成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/258048.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亚信安慧AntDB数据库——助力5G计费核心替换,全面自主可控

数字经济时代,5G以更快、更丰富、更智能的连接方式服务于各行各业。AntDB数据库,源于亚信科技,自2008年起成功落地全国24个省份的中国移动、中国电信、中国联通和中国广电等运营商项目,为数字化服务和信息化基础建设提供支持。 在…

精选猫咪最爱:五款性价比超高的猫罐头品牌大PK!

新手养猫很容易陷入疯狂购买的模式,但有些品牌真的不能乱买!现在的大环境不太好,我们需要学会控制自己的消费欲望,把钱花在刀刃上!现在宠物市场真的很内卷,很多品牌都在比拼产品的数据和营养成分。很多铲屎…

大数据讲课笔记5.1 初探MapReduce

文章目录 零、学习目标一、导入新课二、新课讲解(一)MapReduce核心思想(二)MapReduce编程模型(三)MapReduce编程实例——词频统计思路1、Map阶段(映射阶段)2、Reduce阶段&#xff08…

STM32启动流程详解(超全,startup_stm32xx.s分析)

单片机上电后执行的第一段代码 1.初始化堆栈指针 SP_initial_sp 2.初始化 PC 指针Reset_Handler 3.初始化中断向量表 4.配置系统时钟 5.调用 C 库函数_main 初始化用户堆栈,然后进入 main 函数。 在正式讲解之前,我们需要了解STM32的启动模式。 STM32的…

透视数据:数据可视化工具的多重场景应用

数据可视化工具已经成为了许多领域中的重要利器,它们在各种场景下发挥着重要作用。下面我就以可视化从业者的角度简单谈谈数据可视化工具在不同场景下的应用: 企业数据分析与决策支持 在企业层面,数据可视化工具被广泛应用于数据分析和决策…

27jd网卡丢失IP地址问题追踪

一、问题描述及复现步骤 问题描述 启用network服务,关闭NetworkManager服务后,(通过 ip a 查看) em1网卡丢失IP地址 网络相关组件信息 glib-networking-2.58.0-7.ky10.x86_64 network-scripts-10.01-6.ky10.x86_64 dracut-…

MapReduce综合应用案例 — 电信数据清洗

文章目录 第1关:数据清洗 第1关:数据清洗 测试说明 平台会对你编写的代码进行测试: 评测之前先在命令行启动hadoop:start-all.sh; 点击测评后MySQL所需的数据库和表会自动创建好。 PhoneLog:封装对象 L…

Android定制ROM简介

Android定制ROM简介 这篇文章是为对自定义ROM、AOSP等词汇不太熟悉的技术爱好者和好奇的人写的。我希望通过向您介绍这个世界来开始博客写作。 在我们将注意力转向定制ROM之前,让我们先了解一些基础知识。 什么是操作系统? 维基百科对此的定义简洁而…

探讨二维半导体的概念、应用前景及其与传统半导体的差异

当探讨二维半导体时,我们置身于科技革新的前沿。这种材料以其纳米级薄度和独特电学性质区别于传统半导体,引发了科学界的广泛兴趣。本文将深入探讨二维半导体的概念、应用前景及其与传统半导体的差异。 什么是二维半导体? 二维半导体是由单…

计算机网络 网络层下 | IPv6 路由选择协议,P多播,虚拟专用网络VPN,MPLS多协议标签

文章目录 5 IPv65.1 组成5.2 IPv6地址5.3 从IPv4向IPv6过渡5.3.1 双协议栈5.3.2 隧道技术 6 因特网的路由选择协议6.1 内部网关协议RIP6.2 内部网关协议 OSPF基本特点 6.3 外部网关协议 BGP6.3.1 路由选择 6.4 路由器组成6.4.1 基本了解6.4.2 结构 7 IP多播7.1 硬件多播7.2 IP多…

0062-Java运算符

文章目录 1.运算符介绍2.算术运算符2.1 介绍2.2 细节说明 3.关系运算符(比较运算符)3.1 介绍3.2 细节说明 4.逻辑运算符4.1 介绍4.2 逻辑运算规则4.3 && 和 & 基本规则4.4 && 和 & 使用区别4.5 || 和 | 基本规则4.6 || 和 | 使用区别 5. ! 取反 基本规…

Logback简介与配置详解

在开发和维护Spring Boot应用程序时,一个强大而灵活的日志框架是至关重要的。Spring Boot默认集成了Logback,一个高性能的Java日志框架。本文将介绍如何配置Logback以满足你的日志记录需求。 Logback简介 官方网址:https://logback.qos.ch/ …

Kafka核心参数(带完善)

客户端 api Kafka提供了以下两套客户端API HighLevel(重点)LowLevel HighLevel API封装了kafka的运行细节,使用起来比较简单,是企业开发过程中最常用的客户端API。 而LowLevel API则需要客户端自己管理Kafka的运行细节,Partition&#x…

RocketMQ系统性学习-SpringCloud Alibaba集成RocketMQ以及消费收发实战

文章目录 Spring Cloud Alibaba 集成 RocketMQ 最佳实践集成依赖DashBoard消息收发实战 Spring Cloud Alibaba 集成 RocketMQ 最佳实践 SpringBoot 相对于 SSM 来说已经很大程度上简化了开发,但是使用 SpringBoot 集成一些第三方的框架,还是需要花费一些…

Node.js 工作线程与子进程:应该使用哪一个

Node.js 工作线程与子进程:应该使用哪一个 并行处理在计算密集型应用程序中起着至关重要的作用。例如,考虑一个确定给定数字是否为素数的应用程序。如果我们熟悉素数,我们就会知道必须从 1 遍历到该数的平方根才能确定它是否是素数&#xff…

搭建知识付费平台?明理信息科技为你提供全程解决方案

明理信息科技saas知识付费平台 在当今数字化时代,知识付费已经成为一种趋势,越来越多的人愿意为有价值的知识付费。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。同时,开发和维护…

Python Pandas Excel/csv文件的保存与读取(第14讲)

Python Pandas Excel/csv文件的读取于保存(第14讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

在 Kubernetes 上部署 Python 3.7、Chrome 和 Chromedriver(版本 114.0.5735.90)的完整指南

一、构建基础镜像 docker build -f /u01/isi/DockerFile . -t thinking_code.com/xhh/crawler_base_image:v1.0.2docker push thinking_code.com/xhh/crawler_base_image:v1.0.2 二、K8s运行Pod 三、DockerFile文件 # 基于镜像基础 FROM python:3.7# 设置代码文件夹工作目录…

【论文解读】Comparing VVC, HEVC and AV1 using Objective and Subjective Assessments

时间:2020 级别:IEEE 机构: IEEE 组织 摘要: 对3种最新的视频编码标准HEVC (High Efficiency video Coding)测试模型HM (High Efficiency video Coding)、amedia video 1 (AV1)和Versatile video Coding测试模型 (VTM)进行了客观和…
最新文章