rancher 采用ingerss ssl 部署nginx+php项目
rancher 采用ingerss ssl 部署nginx+php项目
一、创建nginx dockerfile,上传到阿里云镜像仓库(公有,不需要密码)
二、 创建php7.4 dockerfile,需要必须扩展, 上传到阿里云镜像仓库(公有,不需要密码)
# 基于 Debian 10 (Buster) 的基础镜像
FROM php:7.4-fpm-buster# 安装系统依赖和编译工具(增加 Swoole/Redis 所需依赖)
RUN apt-get update && apt-get install -y \libxml2-dev \libssl-dev \libpng-dev \libjpeg62-turbo-dev \libfreetype6-dev \libzip-dev \libxslt1-dev \libicu-dev \libonig-dev \libffi-dev \libpq-dev \libcurl4-openssl-dev \libc-ares-dev \libyaml-dev \procps \git \wget \unzip \make \autoconf \g++ \&& rm -rf /var/lib/apt/lists/*# 编译 PHP 核心扩展
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \&& docker-php-ext-configure intl \&& docker-php-ext-configure zip \&& docker-php-ext-configure ffi --with-ffi# 启用内置扩展
RUN docker-php-ext-install -j$(nproc) \bcmath \calendar \exif \ffi \gd \gettext \mysqli \pcntl \shmop \sysvmsg \sysvsem \sysvshm \xsl \zip \intl \opcache \pdo_mysql# 分步安装 PECL 扩展(指定兼容版本)
RUN pecl install igbinary-3.2.14 \&& docker-php-ext-enable igbinaryRUN pecl install redis-5.3.7 \&& echo "extension=redis.so" > /usr/local/etc/php/conf.d/redis.iniRUN pecl install swoole-4.8.13 \&& docker-php-ext-enable swoole# 最后清理编译工具(保留运行时依赖)
RUN apt-get purge -y --auto-remove \autoconf \g++ \make \&& rm -rf /tmp/pear
构建命令docker build -t php7.4:v1 .
docker build -t php7.4:v1 .
docker login --username=xiaohuhl registry.cn-hangzhou.aliyuncs.com
docker tag 3332b182e011 registry.cn-hangzhou.aliyuncs.com/hooclub/k8s-php:v6
docker push registry.cn-hangzhou.aliyuncs.com/hooclub/k8s-php:v6
登录阿里云镜像服务,镜像仓库
在rancher 控制台部署服务,镜像采用的上面的阿里云公有仓库的,映射配置文件、项目目录、日志等
php的部署也是一样,也要映射项目目录、配置、日志等
php的配置文件www.conf
[www]user = www-data
group = www-datalisten = 127.0.0.1:9000pm = dynamicpm.max_children = 5pm.start_servers = 2pm.min_spare_servers = 1pm.max_spare_servers = 3; www.conf
catch_workers_output = yes
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/php/error.log
php_admin_flag[log_errors] = on
nginx有两个pod ,对应两个域名,一个前端,一个后台管理,这是最后部署完的截图
下面的nginx配置的都是80端口,在ingerss配置完https后,就显示443了。如下图
前端nginx配置文件
#user nobody;
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;#gzip on;server {listen 80;root /var/www/html/;index index.php index.html index.htm;location / {try_files $uri $uri/ /index.html;}
}}
后台nginx配置,php转发配置的容器名+端口
user www-data;
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;#gzip on;server {listen 80;root /var/www/html;index index.php index.html index.htm;location / {index index.php;autoindex off;# 如果请求的文件不存在,则重写 URL 到 index.phpif (!-e $request_filename) {rewrite ^(.*)$ /index.php?s=/$1 last;break;}}location ~ \.php$ {fastcgi_pass php7:9000; fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;}
}}
部署完成后,所有worker节点都有30080和30081端口。访问ip+端口都可访问nginx
配置ingerss ,先添加ssl证书,在资源-密文-证书中添加
将域名指向其中一个worker节点ip
相关文章:
rancher 采用ingerss ssl 部署nginx+php项目
rancher 采用ingerss ssl 部署nginxphp项目 一、创建nginx dockerfile,上传到阿里云镜像仓库(公有,不需要密码) 二、 创建php7.4 dockerfile,需要必须扩展, 上传到阿里云镜像仓库(公有&#x…...
开源聚合平台 Websoft9:开源创新已成为中小企业数字化转型、数据驱动企业的基础
引言:开源软件正在重塑企业数字化未来 根据2024年OpenLogic报告,94.57%的企业已使用开源软件,其中34.07%的机构加大了对开源技术的投入。开源软件凭借其灵活性、成本优势和生态协作能力,成为中小企业(SMB)数字化转型的…...
IntelliJ IDEA 中通义灵码插件使用指南
IntelliJ IDEA 中通义灵码插件使用指南 通义灵码(TONGYI Lingma)是阿里云推出的一款基于通义大模型的智能编码辅助工具,支持 IntelliJ IDEA 等主流 IDE。它提供了代码补全、自然语言生成代码、单元测试生成、代码注释与解释等功能࿰…...
如何免费使用Meta Llama 4?
周六, Meta发布了全新开源的Llama 4系列模型。 架构介绍查看上篇文章。 作为开源模型,Llama 4存在一个重大限制——庞大的体积。该系列最小的Llama 4 Scout模型就拥有1090亿参数,如此庞大的规模根本无法在本地系统运行。 不过别担心!即使你没有GPU,我们也找到了通过网页…...
introduceHLSL
最近打算好好学习一下ue的shader,跟着下面的视频,打算每天至少更新一集 https://www.youtube.com/watch?vlsXB1PQdGx0&t494s 通过下面的蓝图方式我们就可以得到一个变化的材质 alpha参数的生成实际上就是下面的式子 custom节点允许直接的写入hlsl…...
Module模块化
导出:export关键字 export var color "red"; 重命名导出 在模块中使用as用导出名称表示本地名称。 import { add } from "./05-module-out.js"; 导入: import关键字 导入单个绑定 import { sum } from "./05-module-out.js&…...
使用 Rsync + Lsyncd 实现 CentOS 7 实时文件同步
文章目录 🌀使用 Rsync Lsyncd 实现 CentOS 7 实时文件同步前言介绍架构图🧱系统环境🔧Rsync配置(两台都需安装)关闭SELinux(两台都需) 📦配置目标端(client)…...
软件工程第三章习题
一、选择题 1. (1)答案:D 解析:可行性研究是对项目在技术、经济、操作等多方面进行全面评估论证,也称为项目论证 。技术可行性研究、操作可行性研究、经济可行性研究只是可行性研究的部分内容,不能涵盖整体概念。 2. (2)答案&…...
基于ElasticSearch的向量检索技术实践
基于ElasticSearch的向量检索技术实践 作者:Tableau 原文地址:https://zhuanlan.zhihu.com/p/620260383 图片、视频、语音、文本等非结构化数据可以通过人工智能技术(深度学习算法)提取特征向量,然后通过对这些特征向量…...
Spring Boot 项目日志系统全攻略:Logback、Log4j2、Log4j与SLF4J整合指南
Spring Boot 项目日志系统全攻略:Logback、Log4j2、Log4j与SLF4J整合指南 日志系统是应用程序不可或缺的组成部分,良好的日志实践能极大提升开发调试和线上问题排查的效率。本文将全面介绍Spring Boot项目中各种日志框架的配置与使用方案,包…...
【设计模式】责任链模式
简介 很多公司都有请假的流程,当员工提交请假申请时,请求会沿着 组长 → 经理 → CEO 的链条传递,直到有对应层级的领导处理。 适用场景 一个请求需要多个对象中的一个或多个处理(如审批流程、过滤器链)。处理对象和…...
智能气候前沿:AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测
全球气候变化已成为21世纪最严峻的环境挑战,其复杂的驱动因素如温室气体排放、气溶胶浓度、野火、海冰融化以及农业和生态系统变化等,交织影响着全球的气候格局。 第一:气候变化驱动因素与数据科学基础 1.1气候变化 全球气候变化 中国碳中…...
es 原生linux部署集群
背景 目的: 1. 理解不同部署方式的架构差异 2. 对比环境配置的复杂度 3. 评估性能与资源管理 4. 探索扩展性与高可用性 5. 学习安全与隔离机制 6. 实践监控与维护 7. 掌握混合部署与云原生场景 实验的最终目标 技能提升: 全面掌握Elasticsear…...
Springboot 同时支持不同的数据库,Oracle,Postgresql
## 关键字 Java,Springboot,Vscode,支持多种数据库 ## 背景环境 我在实际项目开发工程中遇到这样一个问题,用户 A 使用 Oracle 数据库,用户 B 使用 Postgresql 数据库,但是用户 AB 都使用我们的项目。所以…...
go --- go run main.go 和 go run .
目录 go run main.gogo run .示例 go run main.go 功能:只编译和运行指定的文件(main.go),忽略同目录下的其他文件。适用场景: 当你只需要运行一个独立的文件,且该文件不依赖其他文件时。适合单文件程序或…...
关于Spring MVC中@RequestMapping注解的详细解析,涵盖其核心功能、属性、使用场景及最佳实践
以下是关于Spring MVC中RequestMapping注解的详细解析,涵盖其核心功能、属性、使用场景及最佳实践: 1. 基础概念 RequestMapping是Spring MVC的核心注解,用于将HTTP请求映射到控制器(Controller)的方法上。它支持类级…...
deepseek使用记录26——从体力异化到脑力异化
我们的一切发现和进步,似乎结果是使物质力量具有理智生命,而人的生命则化为愚钝的物质力量。AI快速发展的现实中,人面临着比工业革命更深刻的异化。在工业革命中,人的身躯沦为了机器的一部分,而现在人的脑袋沦为了AI的…...
Ubertool 的详细介绍、安装指南及使用说明
Ubertool:多协议网络分析与调试平台 一、Ubertool 简介 Ubertool 是一款开源的 多协议网络分析工具,专为物联网(IoT)、嵌入式系统和工业自动化领域设计。它支持蓝牙、Wi-Fi、LoRa、CAN总线等多种通信协议的实时监控、数据包捕获…...
用 HTML、CSS 和 jQuery 打造多页输入框验证功能
在网页开发中,输入框验证是至关重要的一环,它能确保用户输入的数据符合特定要求,提升交互的准确性与流畅性。今天,我们就来深入剖析一个运用 HTML、CSS 和 jQuery 实现多页输入框验证的精彩实例,带你领略前端开发中表单…...
在CentOS上安装Docker需要注意的事项
文章目录 前言Docker Engine如何设置仓库设置镜像加速器获取镜像加速器地址 写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-…...
Chrome 135 版本新特性
Chrome 135 版本新特性 一、Chrome 135 版本浏览器更新 ** 1. 第三方托管账户注册迁移到 OIDC 授权码流程** Chrome 135 将账户注册的登录页面从营销网站迁移到动态网站,同时也将 OpenID Connect (OIDC) 的隐式流程迁移到授权码流程。这样做的目的是进一步提升第…...
CMake实战指南一:add_custom_command
CMake 进阶:add_custom_command 用法详解与实战指南 在 CMake 构建系统中,add_custom_command 是一个灵活且强大的工具,允许开发者在构建流程中插入自定义操作。无论是生成中间文件、执行预处理脚本,还是在目标构建前后触发额外逻…...
K8S学习之基础七十五:istio实现灰度发布
istio实现灰度发布 上传镜像到harbor 创建两个版本的pod vi deployment-v1.yaml apiVersion: apps/v1 kind: Deployment metadata:name: appv1labels:app: v1 spec:replicas: 1selector:matchLabels:app: v1apply: canarytemplate:metadata:labels:app: v1apply: canaryspec…...
7-1 列出连通集
作者 陈越 单位 浙江大学 给定一个有 n 个顶点和 m 条边的无向图,请用深度优先遍历(DFS)和广度优先遍历(BFS)分别列出其所有的连通集。假设顶点从 0 到 n−1 编号。进行搜索时,假设我们总是从编号最小的顶点…...
XML Schema 指示器
XML Schema 指示器 引言 XML Schema 是一种用于定义 XML 文档结构的语言,它能够确保 XML 文档的合法性。在 XML 文档的解析和应用中,XML Schema 指示器(XML Schema Indicator)扮演着至关重要的角色。本文将详细介绍 XML Schema 指示器的概念、作用、应用场景以及如何使用…...
Linux内核中TCP协议栈的实现:tcp_close函数的深度剖析
引言 TCP(传输控制协议)作为互联网协议族中的核心协议之一,负责在不可靠的网络层之上提供可靠的、面向连接的字节流服务。Linux内核中的TCP协议栈实现了TCP协议的全部功能,包括连接建立、数据传输、流量控制、拥塞控制以及连接关闭等。本文将深入分析Linux内核中tcp_close…...
17-产品经理-创建发布
点击“发布”-“创建发布”。 填写发布名称,选择测试的版本。还可以设置此次发布是否为“里程碑”。 点击“保存”后,进入该发布详情页面。需要为此次发布关联需求、已解决BUG、以及遗留BUG。可以通过设置条件,进行“搜索”,然后批…...
了解Spring的统一功能
目录 一、统一数据返回格式 1.引入统一数据返回格式 2.学习使用统一数据返回格式 support方法 beforeBodyWrite方法 统一数据返回格式具体逻辑 使用统一数据返回格式存在的问题 解决方法: 统一数据返回格式的优点 统一数据返回格式代码实现(包含了…...
123213
根据道路在道路网的地位、交通功能、对沿线的服务功能划分可分为快速路、主干路、次干路及支路 快速路完全为交通功能服务, 主干路以交通功能为主, 次干路是城市区域性的交通干道,为区域交通集散服务,兼有服务功能,结合主干路组成干路网 …...
通过 axios 请求回来的 HTML 字符串渲染到 Vue 界面上并添加样式
1. 通过 axios 获取数据 使用 axios 发起请求,获取返回的 HTML 字符串数据。 2. 在 Vue 中处理和渲染数据 由于 HTML 字符串中可能包含一些标签和样式,直接插入到 Vue 的模板中可能会导致样式问题。可以通过以下方式处理: 方法一…...
P1162 填涂颜色(BFS)
题目描述 由数字 0 组成的方阵中,有一任意形状的由数字 1 构成的闭合圈。现要求把闭合圈内的所有空间都填写成 2。例如:66 的方阵(n6),涂色前和涂色后的方阵如下: 如果从某个 0 出发,只向上下…...
【笔记】VS中C#类库项目引用另一个类库项目的方法
VS中C#类库项目引用另一个类库项目的方法 在 C# 开发中,有时我们需要在一个类库项目中引用另一个类库项目,但另一个项目可能尚未编译成 DLL。在这种情况下,我们仍然可以通过 Visual Studio 提供的项目引用功能进行依赖管理。 🎯 …...
进程内存分布--之smaps呈现memory-layout.cpp内存分布
上一篇介绍了:进程内存分布--之单线程代码来内存分布呈现memory-layout.cpp 这里我们使用smaps将更加形象的的体现内存分布,smaps文件是Linux的proc文件系统提供的一种可以查看内存资源使用情况的方法,Linux系统中运行的库、堆、栈等信息都可在smaps中查…...
再看自适应RAG方法:SEAKR|PIKE-RAG|DeepRAG
当大语言模型开始"怀疑人生":一场关于知识检索的AI内心戏 各位看官,今天我们要聊一个AI界的"哲学难题"——当大语言模型突然意识到自己可能是个"半瓶子醋",会发生什么奇妙反应? 想象一下这个场景:某天深夜,ChatGPT正对着用户提问"如…...
DNS服务(Linux)
DNS 介绍 dns,Domain Name Server,它的作用是将域名解析为 IP 地址,或者将IP地址解析为域名。 这需要运行在三层和四层,也就是说它需要使用 TCP 或 UDP 协议,并且需要绑定端口,53。在使用时先通过 UDP 去…...
探秘PythonJSON解析深度剖析json.loads处理嵌套JSON字符串的奥秘
哈喽,大家好,我是木头左! 在当今数字化时代,数据以各种格式呈现,而JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,在众多领域广泛应用。Python作为一门强大的编程语言,其内置的json模块为处理JSON数据提供了便捷的方法。然而,当遇到像{"name&q…...
Day7 FIFO与鼠标控制
文章目录 1. harib04a例程(获取按键编码)2. harib04b例程(加快中断处理)3. harib04c例程(FIFO缓冲区)4. harib04d例程(改善FIFO缓冲区)5. harib04e例程(整理FIFO缓冲区&a…...
软件工程第一章习题
第1章软件与软件工程 1.选择题 (1)下列说法中正确的是( )o A.20世纪50年代提出了软件工程的概念 B.20世纪60年代提出了软件工程的概念 C.20世纪70年代出现了客户机/服务器技术 D.20世纪80年代软件工程学科达到成熟 (2)软件危机的主要原因是( Do B.软件生产…...
Ollama 手动高速下载Win/Linux/Mac安装包及安装方法
前言 Ollama下载速度太慢,按这个方式,速度嘎嘎的快----下载地址 手动安装 如果要从以前的版本升级,则应删除旧库。比如:sudo rm -rf /usr/lib/ollama 解压 tar -C /usr -xzf ollama-linux-amd64.tgz # 解压到/usr文件夹# 如…...
Jmeter+Jenkins+Ant自动化持续集成环境搭建
一、安装准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-2.13 3.ANT工具:apache-ant-1.9.7-bin 4.jenkins工具:jenkins-2.32.2 二、软件安装 1.JDK的安装 >双击JDK安装包,选择安装路径(本人是…...
【11】Redis快速安装与Golang实战指南
文章目录 1 Redis 基础与安装部署1.1 Redis 核心特性解析1.2 Docker Compose 快速部署1.3 Redis 本地快速部署 2 Golang 与 Redis 集成实战2.1 环境准备与依赖安装2.2 核心操作与数据结构实践2.2.1 基础键值操作2.2.2 哈希结构存储用户信息 3 生产级应用场景实战3.1 分布式锁实…...
ISP算法.红外图像增强
在图像处理领域,常见的图像处理一般都是白光相机,实际红外相机也是常见的一种相机,它可以用来对发热的东西进行成像,也可以作为白光相机夜晚不可见的一种辅助手段,为白光相机赋能夜视能力。 红外相机的成像原理在于辐射…...
Spring Boot中使用RedisTemplate操作Redis的几种数据类型详解
Redis作为高性能的键值存储系统,在现代Java应用中扮演着重要角色。Spring Boot通过RedisTemplate为开发者提供了便捷的Redis操作方式。本文将详细介绍如何使用RedisTemplate操作Redis的五种主要数据类型。 一、RedisTemplate简介 RedisTemplate是Spring Data Redi…...
大数据与人工智能之大数据架构(Hadoop、Spark、Flink)
一、核心特性与架构设计 1. Hadoop:分布式批处理的基石 核心组件: HDFS:分布式文件系统,支持大规模数据存储。MapReduce:基于“分而治之”的批处理模型,适合离线分析。 架构特点: 批处理主导&…...
VSCode中Marp插件
VSCode神级插件Marp,用Markdown来做PPT 优秀教程:https://zhuanlan.zhihu.com/p/582872955...
C++20 数学常数:<numbers> 头文件的革新
文章目录 一、<numbers> 头文件中的数学常数二、使用示例三、优势与应用场景(一)提高代码可读性(二)提高精度(三)适用于多种数据类型(四)简化数学计算 四、总结 C20 标准引入了…...
OpenCV--图像平滑处理
在数字图像处理领域,图像平滑处理是一项极为重要的技术,广泛应用于计算机视觉、医学影像分析、安防监控等多个领域。在 OpenCV 这一强大的计算机视觉库的助力下,我们能便捷地实现多种图像平滑算法。本文将深入探讨图像平滑的原理,…...
【KMP】P7114 [NOIP2020] 字符串匹配|省选-
本文涉及知识点 较难理解的字符串查找算法KMP P7114 [NOIP2020] 字符串匹配 题目描述 小 C 学习完了字符串匹配的相关内容,现在他正在做一道习题。 对于一个字符串 S S S,题目要求他找到 S S S 的所有具有下列形式的拆分方案数: S A …...
C++20 统一容器擦除:std::erase 和 std::erase_if
文章目录 一、std::erase 的用法1.1 语法1.2 参数1.3 返回值1.4 示例 二、std::erase_if 的用法2.1 语法2.2 参数2.3 返回值2.4 示例 三、优势与应用场景3.1 统一的接口3.2 简化代码3.3 适用范围广 四、总结 C20 引入了两个非常实用的函数模板: std::erase 和 std…...
阿里云oss视频苹果端无法播放问题记录
记录一下苹果端视频不可以播放的原因. 看了一下其他视频可以正常播放,但是今天客户发来的视频无法正常播放.咨询过阿里云售后给出的原因是编码格式过高. 需要调整编码格式为:baseline, 下面记录如何使用ffmpeg修改视频的编码格式. 下载文件(可从官方下载) 配置环境变量(系统变…...