当前位置: 首页 > news >正文

Linux 系统 docker快速搭建PHP环境

                                                        PHP安装
#############################################################################

1、直接拉取官方镜像
查找Docker Hub上的php镜像  

docker search php


直接拉取官方镜像

docker run --name myphp  --restart=always --network lnmp -d php:7.1-fpm 


2、创建php容器

mkdir /opt/php

#拷贝配置文件(这个地方容易出错,可以直接把实施工程文件里现成的配置文件直接拷贝过去,不用执行下面的语句了)

docker cp 0850901bc597:/etc/php/7.1/fpm/php.ini /opt/php/php.ini
#停止、删除容器
docker stop php
docker rm b2009f54cf34
#正式部署
docker run -p 9000:9000 --name php -v //opt/nginx/html:/var/www/html -v //opt/php/php.ini:/etc/php/7.4/fpm/php.ini -d  --restart=always php:7.1-fpm 

第一个-v 网址Nginx网站目录映射到PHP目录
第二个-v 映射配置文件php容器和宿主机共享目录

3、修改nginx配置(此处配置文件在本机,/opt/nginx/conf目录下)

user  root;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;server {listen       80;server_name  localhost;location / {#这是nginx容器中的默认配置路径,已经映射到虚拟机/www下了 不需要改动root   /usr/share/nginx/html/;#这里添加index.php入口文件index index.php index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}#配置phplocation ~ \.php$ {#这里要换成php容器的ip!fastcgi_pass   192.168.0.118:9000; fastcgi_index  index.php;#这一段一定要注意!把php容器中默认的/var/www/html写进去,替换掉之前的$documentfastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;include        fastcgi_params;}
}


 ##############################轮询负载均衡##################################
 

 # upstream order {#ip_hash;#server 192.168.0.118:8011 weight=1;  #weight权重#server 192.168.0.118:8088 weight=1;#}# server{# listen 80;# server_name 192.168.0.118;# location / {#    index  index.html  index.htm;#     proxy_pass http://order/;
# }
# }


####################################标准配置################################

#   server {
#      listen   80;
#     server_name  somename  alias  another.alias;
# 
#       location / {
#            root   /usr/share/nginx/html/;
#            index  index.html index.htm;
#       }
#    }}


#保存退出,然后重启nginx

docker restart nginx


#去Nginx目录下/opt/nginx/html目录中新建index.php(此目录是共享目录,已经挂载给Nginx和PHP,所以项目可以直接放在这个目录下即可)
#写入php代码,然后本地访问虚拟机ip即可看到配置成功


php扩展安装

首先进入容器
docker  ps

docker  exec  -it   容器ID或名称  /bin/bash

cd /usr/src   里边会有两个压缩文件

安装链接MySQL数据库的驱动

docker-php-ext-install pdo pdo_mysqldocker-php-ext-install mysqli

相关文章:

Linux 系统 docker快速搭建PHP环境

PHP安装 ############################################################################# 1、直接拉取官方镜像 查找Docker Hub上的php镜像 docker search php 直接拉取官方镜像 docker run --name myphp --restartalways --network lnmp -d php:7.1-fpm 2、创建php容…...

逻辑设计问题 -- 设计一个函数

文章目录 设计一个函数函数接口规格说明运算符或者非运算符自由或成员运算符虚函数或非虚函数纯虚函数或者非纯虚函数静态或者非静态成员函数const 成员函数或者非const成员函数公共的、保护的或者私有的成员函数通过值、引用或者指针返回返回const 或者非const可选参数或者必要…...

RHCE 补充:判断服务状态

内容补充:判断服务状态 systemctl 命令 系统控制管理命令工具 常用指令 1、启动 systemctl start 程序名 若要启动多个程序名,使用空格隔开,下同 2、重启:类似主机先断电再启动的一个状态 systemctl restart 程序名 3、停…...

计算机网络:物理层 - 编码与调制

计算机网络:物理层 - 编码与调制 基本概念编码不归零制编码归零制编码曼彻斯特编码差分曼彻斯特编码 调制调幅调频调相混合调制 基本概念 在计算机网络中,计算机需要处理和传输用户的文字、图片、音频和视频,他们可以统称为消息数据&#xf…...

《量子计算:揭开未来科技新篇章》

随着科技的不断发展,量子计算作为一项颠覆性的技术逐渐走进人们的视野,引发了广泛的关注和探讨。本文将围绕量子计算的技术进展、技术原理、行业应用案例、未来趋势预测以及学习路线等方向,深入探讨这一领域的前沿动态和未来发展趋势。 量子…...

机器人机械手加装SycoTec 4060 ER-S电主轴高精密铣削加工

随着科技的不断发展,机器人技术正逐渐渗透到各个领域,展现出前所未有的潜力和应用价值。作为机器人技术的核心组成部分之一,机器人机械手以其高精度、高效率和高稳定性的优势,在机械加工、装配、检测等领域中发挥着举足轻重的作用…...

docker 共享内存不足问题

在启动容器时增加共享内存大小: 您可以通过在docker run命令中添加--shm-size参数来指定更大的共享内存大小。例如,如果您需要32GB的共享内存,可以这样做: docker run --shm-size32g -it your-docker-image 这里的your-docker-im…...

英语口语 3.27

keep It straight :竖着放 turn it to the side:横过来放 i get my shit done:shit(everything)任何事情 我都会去做的 that‘s what’s up 可以的可以的 thats cool zodiac sign :生肖 座 i sense that :我感受到了 talent”艺人 influencer:有影响力的人 …...

pytest之统一接口请求封装

pytest之统一接口请求封装 pytest的requests_util.pyrequests_util.py 接口自动化测试框架的封装yaml文件如何实现接口关联封装yaml文件如何实现动态参数的处理yaml文件如何实现文件上传有参数化时候,怎么实现断言yaml的数据量大怎么处理接口自动化框架的扩展&#…...

使用npm仓库的优先级以及.npmrc配置文件的使用

使用npm仓库的优先级以及.npmrc配置文件的使用 概念如何设置 registry(包管理仓库)1. 设置项目配置文件2. 设置用户配置文件3. 设置全局配置文件4. .npmrc文件可以配置的常见选项 概念 npm(Node Package Manager)是一个Node.js的…...

Netty源码剖析——ChannelHandlerContext 篇(三十七)

ChannelHandlerContext 作用及设计 ChannelHandlerContext 继承了出站方法调用接口和入站方法调用接口 ChannelOutboundInvoker 和 ChannelInboundInvoker 部分源码 这两个invoker就是针对入站或出站方法来的,就是在入站或出站 handler 的外层再包装一层&#xff0c…...

5.92 BCC工具之bitesize.py解读

一,工具简介 bitesize工具按进程名称显示请求块大小的I/O分布。 它通过监视磁盘上的读取和写入操作,记录每个操作的大小。再将跟踪到的 I/O 操作按照大小分组,通常是以 2 的幂次方(如 4K、8K、16K 等)进行划分,并统计每个大小范围内的 I/O 操作数量。 二,代码示例 #…...

jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)

用jupyter notebook导出pdf时,因为报错信息,需要用到Tex nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install…...

压力测试(QPS)及测试工具Locust

压力测试: 通常指的是确定接口或服务能够处理的最大请求量(吞吐量)和并发用户数,同时保持合理的响应时间和稳定性。 性能目标 最大吞吐量:系统每秒可以处理的请求数。最大并发用户数:系统可以同时支持的…...

canal: 连接kafka (docker)

一、确保mysql binlog开启并使用ROW作为日志格式 docker 启动mysql 5.7配置文件 my.cnf [mysqld] log-binmysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server-id1一定要确保上述两个值一个为ROW,一个为ON 二、下载canal的run.sh https://github.c…...

45 对接海康视频九宫格的实现

前言 这里主要是 来看一下 海康视频 的一个九宫格播放的需求 然后 在实际使用的过程中产生了一些问题, 比如 增加一个视频, 应该只增量请求这一个视频的服务, 而一些实现下是全量请求了 整个视频列表的服务 另外 就是全屏播放, 如果是 自己写样式来实现 全屏播放, 可能需要 …...

二-容量管理之容量水位

容量水位概念 容量水位(Capacity Level)是指一个系统或服务所使用资源的程度、范围和可承受能力,通常以百分比表示。在容量管理中,容量水位是非常重要的指标,用于衡量系统或服务的健康状况、资源利用率以及未来容量需求。 容量水位通常是根据一些关键指标进行计算,例如…...

计算机网络——数据链路层(差错控制)

计算机网络——数据链路层(差错控制) 差错从何而来数据链路层的差错控制检错编码奇偶校验码循环冗余校验(CRC)FCS 纠错编码海明码海明距离纠错流程确定校验码的位数r确定校验码和数据位置 求出校验码的值检错并纠错 我们今年天来继…...

【搜索引擎1】Ubuntu通过deb方式安装ElasticSearch和Kibana、ik中文分词插件

1、官网下载文件 版本为官网最新版本,ElasticSearch与Kibana版本必须保持一致 ElasticSearch下载地址:Download Elasticsearch | Elastic Kibana下载地址:Past Releases of Elastic Stack Software | Elastic 下载选择DEB文件 ik插件下载…...

1.0 html(1)

html 一、基本介绍 1、定义:html是一种超文本标记语言,也是一种标识性语言(不是编程语言) 标记:记号(绰号) 超文本:就是页面内容可以包含图片、链接,音乐&#xff0c…...

从DataBinding到Compose:一个老Android的UI数据绑定演进思考

从DataBinding到Compose:一个老Android的UI数据绑定演进思考 作为一名从Eclipse时代走过来的Android开发者,我见证了UI开发方式的多次变革。从最初手工调用findViewById的繁琐,到ButterKnife的注解简化,再到DataBinding带来的声明…...

攻防世界 misc题GFSJ1129-【您看我还有机会吗?】

1.工具:010editor、VMware(Ubuntu、binwalk)、在线 Brainfuck解密、CTF-Tools、ImageStrike、7zFM 2.解题: 方法一(最初的解法): 下载附件后,我们打开,发现有一张图片,点击后发现要密码,我发现没有任何密码的提示,怀疑是伪加密(由于篇幅较长,我后续会在写一篇…...

Unity坐标系实战解析:从localPosition到Position的层级关系与应用场景

1. 理解Unity中的坐标系基础 在Unity开发中,坐标系系统是构建3D世界的基石。很多新手开发者容易混淆localPosition和Position的概念,导致物体位置控制出现各种"灵异现象"。我们先从一个生活场景来理解:想象你站在客厅里&#xff08…...

TurboWarp Packager:让Scratch作品突破平台限制的跨平台打包工具

TurboWarp Packager:让Scratch作品突破平台限制的跨平台打包工具 【免费下载链接】packager Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux. 项目地址: https://gitcode.com/gh_mirrors/pack/…...

告别窗口拖拽:用Loop实现Mac高效分屏的5个核心技巧

告别窗口拖拽:用Loop实现Mac高效分屏的5个核心技巧 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 每天在Mac上工作时,你是否经常被这些问题困扰:窗口太多找不到想要的那个?…...

中兴光猫高级管理:5分钟掌握zteOnu命令行工具实用指南

中兴光猫高级管理:5分钟掌握zteOnu命令行工具实用指南 【免费下载链接】zteOnu 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 中兴光猫作为家庭和企业网络的核心设备,其隐藏的高级功能往往被普通用户界面所限制。zteOnu是一个专门为中兴…...

nli-distilroberta-base轻量化效果实测:在嵌入式设备上的推理性能与精度

nli-distilroberta-base轻量化效果实测:在嵌入式设备上的推理性能与精度 1. 开篇:当大模型遇上小设备 在树莓派上跑BERT?半年前这还是个笑话。但当我第一次在Jetson Nano上成功运行量化后的nli-distilroberta-base模型时,这个4核…...

Jailer命令行大师课:自动化数据库子集化的10个技巧

Jailer命令行大师课:自动化数据库子集化的10个技巧 【免费下载链接】Jailer Database Subsetting and Relational Data Browsing Tool. 项目地址: https://gitcode.com/gh_mirrors/ja/Jailer Jailer是一款强大的开源数据库子集化工具,专注于从生产…...

OpenClaw 中所有浏览器控制方法总览

OpenClaw 当前支持的浏览器控制方式,本质可以分为 3 种架构路径: Remote CDP(直接协议控制) Managed Browser(托管浏览器) Existing-session via Chrome DevTools MCP(会话接管) …...

Java线程池中如何用TransmittableThreadLocal避免变量丢失?附完整Demo

Java线程池中TransmittableThreadLocal的实战应用与避坑指南 在Java高并发编程中,线程池是提升性能的利器,但线程复用机制却给上下文传递带来了挑战。当我们在父线程设置变量,子线程却无法获取时,这种"断链"现象常让开发…...