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

DOCKER 部署 webman项目

# 设置基础镜像
FROM php:8.2-fpm# 安装必要的软件包和依赖项
RUN apt-get update && apt-get install -y \nginx \libzip-dev \libpng-dev \libjpeg-dev \libfreetype6-dev \&& rm -rf /var/lib/apt/lists/*# 安装 PHP 扩展
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \&& docker-php-ext-install -j$(nproc) gd \&& docker-php-ext-install zip pdo_mysql
# 安装 pcntl 扩展
RUN docker-php-ext-install pcntl# 安装 Redis 扩展
RUN pecl install redis-5.3.7 \&& docker-php-ext-enable redis# 安装 Xdebug 扩展
RUN pecl install xdebug-3.2.1 \&& docker-php-ext-enable xdebug# 复制 Nginx 配置文件到容器
COPY ./dockerConfig/nginx/default.conf /etc/nginx/conf.d/default.conf# 复制启动脚本到容器
COPY start.sh /start.sh# 赋予启动脚本可执行权限
RUN chmod +x /start.sh# 复制项目代码到容器
COPY . /var/www/html# 设置文件和目录的权限
RUN chown -R www-data:www-data /var/www/html# 启动 Nginx 和 PHP-FPM
CMD ["/start.sh"]

目录接口如下

 关于nginx 的配置可以删去,

sh文件

#!/bin/bash
set -e# 启动 Nginx
service nginx start# 执行 PHP 命令
php start.php start

nginx配置文件

upstream webman {server 127.0.0.1:8787;keepalive 10240;
}server {server_name test.comlisten 80;access_log off;root /var/www/html/public;location ^~ / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_http_version 1.1;proxy_set_header Connection "";if (!-f $request_filename){proxy_pass http://webman;}}
}

制作镜像

 docker build -t new_app  .


运行

docker run  -p 8080:8787 new_app

 测试

 如有不清楚,请留言,看到必回

http://www.lryc.cn/news/142700.html

相关文章:

  • LLMs:LangChain-Chatchat(一款可实现本地知识库问答应用)的简介、安装、使用方法之详细攻略
  • Qt 解析XML文件 QXmlStreamReader
  • 图像线段检测几种方法
  • 【Vue2.0源码学习】生命周期篇-初始化阶段(initEvents)
  • SQL高级知识点
  • 【安全】原型链污染 - Code-Breaking 2018 Thejs
  • 【架构】探索计算机处理器的世界:ARM和x86架构解析及指令集
  • SpringBoot权限认证
  • OpenGL-入门-BMP像素图glReadPixels
  • 同源策略以及SpringBoot的常见跨域配置
  • 基于jeecg-boot的flowable流程跳转功能实现
  • react图片预加载
  • 数据库管理
  • 【2023年11月第四版教材】《第8章-整合管理》(第3部分)
  • 初阶数据结构(三)链表
  • Python小知识 - 八大排序算法
  • 安卓动态申请权限
  • 关于亚马逊云科技云技能孵化营学习心得
  • 计算机安全学习笔记(III):强制访问控制 - MAC
  • java判断ip是否为指定网段
  • 如何通过人工智能和自动化提高供应链弹性?
  • 【Apollo学习笔记】——规划模块TASK之PATH_REUSE_DECIDER
  • 框架分析(6)-Ruby on Rails
  • LLMs NLP模型评估Model evaluation ROUGE and BLEU SCORE
  • BlazorServer中C#与JavaScript的相互调用
  • 深入理解 MD5 消息摘要算法和在密码存储中的应用及安全隐患
  • python网络爬虫指南二:多线程网络爬虫、动态内容爬取(待续)
  • 华为AirEgine9700S AC配置示例
  • VUE3基础
  • Qt应用开发(基础篇)——日历 QCalendarWidget