PHP7 +nginx Docker 部署

一、php docker

1、创建php Docker, Dockerfile文件如下

FROM php:7.3.7-fpmRUN mkdir -p /php/myphp

 2、启动脚本start.sh,其中会安装php mysql驱动

#!/bin/bash
rm -rf myphp
unzip myphp.zip
cp .env.pro  ./myphp
cp .env  ./myphpdocker rm -f myphp
docker build -t myphp .
docker run -d --network lt-pro-net --name myphp --privileged=true -p 19000:9000 --restart=always  -v /home/docker/myphp/:/php/myphp/ -v /home/docker/myphp/php.ini:/usr/local/etc/php/php.ini  myphp:latestchmod -R 777  /home/docker/myphp/
#docker-php-ext-install pdo pdo_mysql
docker exec -it myphp  bash -c "docker-php-ext-install pdo pdo_mysql"docker restart myphp

其中.env文件指定pro环境,.env.pro中为配置

php.ini需要设置mysqlnd 

 

二、php nginx docker

1、创建php nginx 的Docker脚本 Dockerfile文件如下

FROM nginx:1.19.0ENV TZ='Asia/Shanghai'
#one app create one log path
RUN mkdir -p /log/myphp

2、php nginx配置如下 myphp.conf

server {listen       9001;server_name  localhost;root   /php/myphp/public;access_log  /log/myphp/access-test.log  main;error_log   /log/myphp/error-test.log  error;client_max_body_size 0;client_header_buffer_size 32k;large_client_header_buffers 4 16k;client_header_timeout 1m;client_body_timeout  120s;location / {add_header Access-Control-Allow-Origin * always;add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE';add_header Access-Control-Allow-Headers 'token,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';index index.php index.html index.htm;try_files $uri $uri/ /index.php?$query_string;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}location ~ \.php$ {fastcgi_pass   myphp:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}
}

3、执行脚本start.sh

#!/bin/bash
docker rm -f lt-php-nginx
docker build -t lt-php-nginx .
docker run --name lt-php-nginx --privileged=true --restart=always \
--network lt-pro-net \
-v /home/docker/app/php-nginx/conf.d:/etc/nginx/conf.d \
-p 9001:9001\
-v /home/docker/myphp:/php/myphp \
-v /home/docker/myphp/log:/log/myphp \
--link myphp:myphp \
-d nginx

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apifox接口调试工具

1、Apifox简介 Apifox 是集 API 文档、API 调试、API Mock、API 自动化测试多项实用功能为一体的 API 管理平台,定位为 Postman Swagger Mock JMeter。旨在通过一套系统、一份数据,解决多个工具之间的数据同步问题。只需在 Apifox 中定义 API 文档&a…

Nginx代理MinIO时出现“Access Denied“错误

MinIO与Nginx集成时&#xff0c;如果出现"Access Denied"错误&#xff0c;通常意味着Nginx代理的请求没有被正确地转发到MinIO服务。 出现错误&#xff1a; <Error><Code>AccessDenied</Code><Message>Access Denied.</Message><…

leetcode-合并二叉树-90

题目要求 思路 1.如果两个结点都存在&#xff0c;就把对应的val加起来创建一个新的结点 2.如果有一个结点不存在&#xff0c;就用村在的那个结点 3.最后返回创建的头结点 代码实现 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* Tre…

【鸿蒙应用】理财App

目录 第一节项目讲解项目介绍 第二节&#xff1a;项目创建登录静态框架编写登录页面设稿新建项目控制台添加项目Login页面封装标题组件 第三节&#xff1a;登录页静态表单编写第四节—内容页架构分析底部栏组件第五节—底部栏组件切换第六节&#xff1a;首页静态页编写第七节&a…

注释掉的代码们

<!--从后端接受来的数据展示&#xff0c;所以vo中有什么这里可以选择写什么&#xff0c;所以可以写自定义的一些name--><!--数据需要返回后端所以数据库后端需要什么样的数据绑什么样的数据&#xff0c;存的是教师id不是name-->import {TreeSelect} from ‘bestvik…

第十、十一章、十二章 折线图 + 地图 + 柱状图的绘制

第十章 折线图的绘制 官网&#xff1a;pyecharts - A Python Echarts Plotting Library built with love. 画廊官网&#xff1a;Document 懒人工具&#xff1a;懒人工具-手机APP工具下载-手机软件下载大全 - 173软件站 (ab173.com) 导学 json 定义 &#xff08;1&#xff…

js的算法-交换排序(冒泡)

交换排序 所谓交换排序&#xff0c;是指根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置。基于交换的排序算法很多&#xff0c;本次介绍冒泡排序和快速排序。 冒泡 基本思想 从后往前&#xff08;或从前往后&#xff09;两两比较相邻元素的值&#xff0…

开启医疗数据新纪元:山海鲸可视化智慧医疗解决方案

在数字化浪潮席卷而来的今天&#xff0c;智慧医疗作为医疗行业的创新力量&#xff0c;正以其独特的技术优势&#xff0c;推动着医疗服务的升级和变革。而在这场变革中&#xff0c;山海鲸可视化以其出色的数据可视化能力&#xff0c;为智慧医疗提供了强大的技术支持&#xff0c;…

Netbox 4 VMware OVF快速部署

介绍 为了方便大家安装部署&#xff0c;做了一个VMware虚拟机ovf镜像使用。 Netbox系列&#xff1a;https://songxwn.com/categories/NetBox/ 手动部署&#xff1a;https://songxwn.com/netbox4-CN/ 使用 使用ESXi 6.5作为基准兼容性版本&#xff0c;虚拟机配置为4C8G 80G硬…

SpringBoot项目启动内存泄漏问题排查与解决

在今天的开发过程中&#xff0c;我遇到了一个SpringBoot项目启动时显示内存泄漏的问题。这个问题让我头疼了一段时间&#xff0c;但经过多次排查&#xff0c;最终成功解决了。现在我将这个过程分享给大家&#xff0c;希望能对遇到类似问题的朋友们有所帮助。 问题现象 在启动…

PMP®考试的形式、题型、考试内容和趋势

PMP考试形式&#xff1a; 国内的PMP考试是由中国国际人才交流基金会和PMI共同组织举办&#xff0c;统一采取的都是线下笔试。一年考4次&#xff0c;今年的考试安排在3月、6月、8月、11月。3月10日的PMP考试已结束&#xff0c;接下来是6月份的考试&#xff0c;考试时间预计在6月…

qt tcp 连接 秒断连

问题&#xff1a; tcp连接总是秒成功后断连 debug会出现下面这些 onecore\net\netprofiles\service\src\nsp\dll\namespaceserviceprovider.cpp(550)\nlansp_c.dll!00007FFDA2A1D93D: (caller: 00007FFDD8BEACF6) LogHr(1) tid(336c) 8007277C ¡£¡£ one…

一例MFC文件夹病毒的分析

概述 这是一个MFC写的文件夹病毒&#xff0c;通过感染USB设备传播&#xff0c;感染后&#xff0c;会向c2(fecure.info:443)请求指令来执行。 样本的基本信息 Verified: Unsigned Link date: 19:52 2007/7/5 MachineType: 32-bit MD5: 4B463901E5858ADA9FED28FC5…

CJSON工具类

4.4.3.CJSON工具类 OpenResty提供了一个cjson的模块用来处理JSON的序列化和反序列化。 官方地址&#xff1a; https://github.com/openresty/lua-cjson/ 1&#xff09;引入cjson模块&#xff1a; local cjson require "cjson"2&#xff09;序列化&#xff1a; …

STM32学习和实践笔记(21):定时器中断实验

通用定时器配置步骤如下&#xff1a; 第一步&#xff1a;使能定时器时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//使能TIM4时钟 第二步&#xff1a;初始化定时器参数,包含自动重装值&#xff0c;分频系数&#xff0c;计数方式等 voidTIM_TimeBaseInit(TIM_T…

YJW-10000微机控制电液伺服压剪试验机

一、项目概述 YJW-10000微机控制电液伺服压剪试验机采用油缸下置式、四立柱结构&#xff0c;机架刚度强度高&#xff0c;变形小&#xff0c;满足公路、铁路桥梁板式、盆式、球型支座的检测要求&#xff0c;试验空间无级可调&#xff0c;方便不同高度的试验需求。采用试金自主研…

怎样快速插入数据

1、30万条数据插入插入数据库验证 1.1、表结构&#xff1a; CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 用户id,username varchar(64) DEFAULT NULL COMMENT 用户名称,age int(4) DEFAULT NULL COMMENT 年龄,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT…

基于binlog实现数据加工处理

场景举例: 为了查询方便性&#xff0c;目前订单中存在好多冗余字段&#xff0c;例如用户昵称&#xff0c;但是当昵称对应表变化时候&#xff0c;好多同学可能就直接在修改昵称的地方手 动调用订单接口更新昵称&#xff0c;但这样不仅代码结构混乱而且耦合严重 使用说明: 下面…

如何设置微信自动回复?教你快速上手!

自动回复对于需要在微信上洽谈业务的人来说&#xff0c;无疑是非常实用的一个功能。 下面就一起来看看微信管理系统的机器人自动回复都有哪些设置吧&#xff01; 1、自动通过好友 只要有新的好友请求发送到你的微信账号&#xff0c;系统会自动通过该请求&#xff0c;无需手动…

vue flvjs 播放视频

写在前面&#xff1a; 之前使用过vodiejs插件播放过mp4视频格式的视频&#xff1b; 此次需要使用flvjs插件播放rtsp视频格式的视频&#xff1b; 因为视频的数据格式不同&#xff0c;所以对应的插件不同。 思维导图&#xff1a; 参考链接&#xff1a;rtmp、rtsp、flv、m3u8、 …