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

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 igbinary

RUN pecl install redis-5.3.7 \
    && echo "extension=redis.so" > /usr/local/etc/php/conf.d/redis.ini

RUN 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-data

listen = 127.0.0.1:9000






pm = dynamic

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.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.php
        if (!-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
在这里插入图片描述

相关文章:

  • c# 使用NPOI将datatable的数据导出到excel
  • OSPF不规则区域和LSA
  • 【Java学习】AI时代下如何学习Java语言开发
  • 【算法学习计划】回溯 -- 记忆化搜索
  • StringTemplate修仙指南:字符串处理的“言出法随“大法
  • 智能物联网网关策略部署
  • vue3+vite+js项目引入electron构建跨平台桌面应用
  • Excel 自动执行全局宏
  • 项目进度延误的十大原因及应对方案
  • 4-10记录(
  • 聊天室项目Day3之服务器的http的get和post回复实现
  • 软件信息安全性测试如何进行?有哪些注意事项?
  • 神经网络入门—自定义神经网络续集
  • 2. 单词个数统计
  • WPS JS宏编程教程(从基础到进阶)-- 第六部分:JS集合与映射在 WPS 的应用
  • 关于使用@Slf4j后引入log,idea标红解决办法
  • Linux | I.MX6ULL外设功能验证(11)
  • FreeRTOS项目工程完善指南:STM32F103C8T6系列
  • 【结合vue源码,分析vue2及vue3的数据绑定实现原理】
  • 【力扣hot100题】(083)零钱兑换
  • 网站开发服务外包合同/seo网络搜索引擎优化
  • 基于oa系统的网站建设/邯郸网站优化
  • wap网址是什么意思/上海seo优化公司 kinglink
  • 廊坊做网站优化的公司/百度搜索指数和资讯指数
  • 大连网站建设动态/线上推广具体应该怎么做
  • 广东网站推广策略/seo自然排名优化