【业务功能129】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-k8s集群-09微服务前端代理服务 Nginx部署

k8s集群中部署微服务项目前端代理服务 Nginx

在这里插入图片描述

一、微服务项目静态资源准备

在这里插入图片描述

# mkdir sangomall-proxy
# cd sangomall-proxy/
[root@k8s-master01 sangomall-proxy]# ls
conf  Dockerfile  html  html.tar.gz
  • 创建的conf目录下,我们需要放入nginx的配置文件,这里可以这么来获取:先运行一个nginx容器,然后将安装好在默认目录下的配置文件复制过来,接着再把其nginx容器删除
cd conf/
docker run -d nginx:latest
docker ps        //查看对应安装好的nginx容器ID 用来进行下一步复制配置文件能找到对应的文件位置
docker cp 安装的nginx容器ID:/ect/nginx/conf./default.conf .
docker stop 安装的nginx容器ID; docker rm 安装的nginx容器ID
[root@k8s-master01 sangomall-proxy]# cd conf/
[root@k8s-master01 conf]# ls
default.conf
[root@k8s-master01 conf]# vim default.conf
[root@k8s-master01 conf]# cat default.conf

upstream sangomall {
      server mall-gateway.sangomall.svc.cluster.local.:8072;
    }

server {
    listen       80;
    server_name  *.msb.com;

    #access_log  /var/log/nginx/host.access.log  main;


    location /static/ {
       root   /usr/share/nginx/html;
    }


    location / {
       proxy_set_header Host $host;
       proxy_pass http://sangomall;
    }


    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
[root@k8s-master01 sangomall-proxy]# ls
conf  Dockerfile  html  html.tar.gz
[root@k8s-master01 sangomall-proxy]# cd html
[root@k8s-master01 html]# ls
es  index.html  static
[root@k8s-master01 html]# cat es/fenci.txt
sango
mall
[root@k8s-master01 html]# cat index.html
<h1>sangomall </h1>
[root@k8s-master01 html]# ls static
cart  index  item  login  order  reg  search
[root@k8s-master01 sangomall-proxy]# cd html/
# tar czvf html.tar.gz *
[root@k8s-master01 sangomall-proxy]# mv html.tar.gz ../
[root@k8s-master01 sangomall-proxy]# vim Dockerfile
[root@k8s-master01 sangomall-proxy]# cat Dockerfile
FROM nginx

MAINTAINER nextgo@126.com

RUN rm -rf /etc/nginx/conf.d/*

COPY conf/* /etc/nginx/conf.d/


ADD html.tar.gz  /usr/share/nginx/html/

EXPOSE 80

ENTRYPOINT nginx -g "daemon off;"

二、微服务项目前端代理服务镜像制作

[root@k8s-master01 sangomall-proxy]# docker build -t docker.io/nextgomsb/nginx:v1 .
[root@k8s-master01 sangomall-proxy]# docker images
REPOSITORY                                TAG       IMAGE ID       CREATED         SIZE
nextgomsb/nginx                           v1        f83f673f91df   4 seconds ago   173MB
[root@k8s-master01 sangomall-proxy]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: nextgomsb
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@k8s-master01 sangomall-proxy]# docker push docker.io/nextgomsb/nginx:v1

在这里插入图片描述

kubesphere的安装与使用 写这些,仅记录自己学习使用k8s的过程。如果有什么错误的地方,还请大家批评指正。最后,希望小伙伴们都能有所收获。 阅读详情

相关推荐

【微服务】一文了解Nginx网关搭建教程

nginx是一个高性能HTTP服务器,反向代理服务器,邮件代理服务器,TCP/UDP反向代理服务器。单个系统主要用于处理客户端请求,一个系统处理客户端的请求量是有限的,当客户端的并发量超过了系统的处理能力的时候,就会导致服务器性能降低,速度变慢,直接影响用户体验,所以为了提升性能,我们会创建多个服务实例,形成集群系统用于保证高可用。也有部分业务场景,需要暴露给第三方,所以我们需要暴露出部分接口给第三方,这个时候我们就可以利用Nginx的反向代理,来代理我们的后端服务器。

热爱技术,享受生活 2万+

【微服务生态】Nginx

nginx 概述,nginx 下载与安装,反向代理,负载均衡,动静分离,nginx集群配置,nginx原理与优化参数

比尔高特的博客 1777

An example: 2D immersed boundary lattice Boltzmann method code--By Timm Krüger.2011.

//谢谢Timm Krüger大佬的代码。 还是老样子,有啥问题Feel free to tell us~毕竟群众力量大嘛~QQ群:293267908。 // 话不多说,上干货! // ISBN 978-3-319-44649-3 (Electronic) // 978-3-319-44647-9 (Print) // http://www.springer.c...

weixin_37783345的博客 1418

微服务系列文章之 Nginx负载均衡

使用ip_hash指令无法保证后端服务器的负载均衡,可能导致有些后端服务器接收到的请求多,有些后端服务器接收的请求少,而且设置后端服务器权重等方法将不起作用。同一个资源多次请求,可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。stream模块的用法跟http的用法类似,允许我们配置一组TCP或者UDP等协议的监听,然后通过proxy_pass来转发我们的请求,通过upstream添加多个后端服务,实现负载均衡。服务器可以指定不同的权重,默认为1。

Coder_Boy_的博客 3031

别再死记硬背了!用Wireshark抓包实战,5分钟搞懂GRE、L2TP、IPsec的区别

本文通过Wireshark抓包实战,详细解析GRE、L2TP和IPsec三大隧道协议的核心差异与应用场景。从报文结构到配置示例,帮助网络工程师快速掌握这些协议的本质,提升VPN部署与故障排查能力。特别适合准备HCIP认证的工程师深化理解。

weixin_30352645的博客 439

PX4实战指南:通过遥控器通道直连实现舵机PWM控制

本文详细介绍了如何通过PX4飞控实现遥控器通道直连控制舵机PWM输出的完整流程。从硬件准备、遥控器配对到PX4参数配置和硬件连接,提供了实战技巧和常见问题解决方案,帮助无人机爱好者快速掌握舵机控制技术。重点讲解了AUX Passthrough模式设置和PWM参数调整等关键步骤。

weixin_29195217的博客 154

微服务nginx解析部署使用全流程

【Nginx是个好东西,没有它的话,这前端开发完了后(非vue开发),还得找一个web容器 大概率是tomcat。咱就需要配置tomcat ,tomcat的配置是比较麻烦的, nginx的配置就简单了好多。Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。

m0_71240584的博客 3664

cs188Inference in Bayes Nets(贝叶斯网络的推理)

cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti

weixin_46582817的博客 1673

微服务开发----Nacos集群搭建与Nginx配置

进入nacos的conf文件中,修改 cluster.conf.example改为cluster.conf。1.在实际应用时,我们要给nginx设置一个域名,这样方便于有服务器迁移至nacos的客户端也无需更新配置。创建了多个nacos地址,从而我们可以对多个服务配置中分为多个集群,从而有多个nacos节点。在这里的集群化,就是为了让三个节点进行负载均衡,提升性能。这里的配置nacos,与之前有些不同,首先要在包解压到非中文路径下,当然在我们的电脑上只能修改它的端口号,从而有多个集群。

princess_pig的博客 429

ESP32开发进阶:1.接入文心一言

ESP32开发进阶:接入文心一言大模型,串口对话

qq_53529450的博客 1431

OpenClaw插件开发指南:扩展AI智能体的无限可能

OpenClaw插件开发指南介绍了如何扩展AI智能体的功能。该插件系统支持多种类型(功能、集成、工具、界面、工作流插件),具有模块化、低耦合等优势。开发环境需要安装SDK和工具包,通过plugin.json配置插件信息,主文件实现核心功能。API提供智能体管理、任务执行等接口,示例演示了文本处理插件的创建流程。开发者可基于此框架灵活扩展OpenClaw的能力。

一键难忘的博客 561

nginx 配置相关详解

nginx是一个高性能的HTTP和反向代理服务器。是由塞索耶夫为俄罗斯访问量第二的Rambler.ur站点开发的,nginx是Apache服务不错的替代品。以#开头的一行为注释,只有单行注释。listen:该指令用于配置网络监听:该指令用于虚拟主机的配置,通常分为两种:基于域名的虚拟主机配置:servername name …;基于IP地址的虚拟主机的配置:server_name 192.168.1.129;location:用于匹配URLproxy_pass:用于设置被代理服务器的地址index。

跟着飞哥学编程(全栈联盟) 5675

数字盲水印嵌入和提取的实现基于小波变换DWT算法

数字盲水印是指在不知道原始图像的情况下,在其上嵌入水印并在后续的提取过程中能够恢复出原始水印的一种技术。本文介绍的数字盲水印嵌入和提取的实现方法基于小波变换DWT算法。具体来讲,DWT将信号或图像进行二次下采样和卷积滤波,使得高频分量的图像信息被集中在一个小区域内,方便进行嵌入和提取操作。其中 a 表示嵌入强度,而 watermark 则是用于嵌入的水印图像,这里我们嵌入的是一个全灰的图像。通过以上的代码,我们可以实现数字盲水印的嵌入和提取,并在一定程度上保护数字图片的版权安全。

HackWhisper的博客 511

微服务学习(四):安装Nginx

安装Nginx

阿标的博客 305

ROS & ROS2 机器人深度相机激光雷达多传感器标定工具箱

不过,多传感器标定工具箱允许通过编辑 yaml 文件来调整标定目标的参数: <repository>/mutlisensor_calibration/cfg/TargetWithCirclesAndAruco.yaml%YAML:1.0rows: 4cols: 1dt: irows: 4cols: 2dt: frows: 1cols: 12dt: fCAD 模型网格/云通过 GICP 将模型数据与分割点云对齐,用于优化检测到的目标姿态。

2506_90492529的博客 2108

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

微服务实战系列之Nginx

Nginx?写了那么多文章,为什么今天才轮到它的表演?那是因为它实在太重要了,值得大书特书,特别对待。当我们遇到单点瓶颈,第一个idea是?Nginx;当我们需要反向代理,第一个idea是?Nginx;当我们需要静态部署,第一个idea是?Nginx;当我们需要透传服务,第一个idea是?Nginx;好了好了,不再罗列了,博主手都麻了…当我们遇到一件趁手的武器,是不是愿意找一个合适的“对手”,练一练?当我们遇到一件棘手的问题,是不是愿意找一个熟练的“队友”,试一试?

splendid_java的专栏 2568

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

K8S应用笔记 —— 部署Nginx服务发布前端项目(PV、PVC、Deployment、Service、Ingress )

在`K8S`集群上通过部署`Nginx`服务发布前端项目,其中: - 前端项目发布文件通过`PV`和`PVC`存储在`NFS`上实现多`Pod`持久化和共享 - 将`Nginx`服务配置文件存储至 `K8S`的`configmap`中 - 将阿里云证书文件存储至`K8S`的`secret`中 - 通过`Ingress`设置证书,并将`Nginx`服务暴露到集群外部

gmHappy 4万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

kubernetes部署ingress-nginx

kubernetes1.25.6部署ingress

wanchaopeng的博客 1141

大数据与云计算:部署Kubernetes集群并完成nginx部署(全网最详细教程!)

Kubernetes 集群是由多个物理或虚拟计算机组成的集合,用于运行和管理容器化应用程序。集群中的计算机被称为节点,其中包括一个主节点 (Master Node) 和多个从节点 (Worker Nodes)。在 Kubernetes 集群中,主节点负责管理和控制整个集群的操作。它运行了一系列核心组件,如 kube-apiserver、kube-controller-manager、kube-scheduler 和 etcd。主节点与从节点之间通过 API 通信,并负责调度容器、监视集群状态、处理节点故障等

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 4977

nginx服务器配置方法

Nginx服务器配置方法

weixin_43842848的博客 1316

Nginx配置文件nginx.conf详解

#Nginx用户及组:用户 组。window下不指定 #user nobody; #工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。 worker_processes 1; #错误日志:存放路径。 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid(进程标识符):存放路径 pid /usr/local/nginx..

脑壳疼 2万+

【超详细】Nginx功能和详细配置,附带实例解析

企业高性能Web服务器,nginx核心/高级配置,Nginx Rewrite功能,反向代理和二次开发

XJT2242746673的博客 3997

k8s部署nginx的三种方式

使用kubernetes来部署nginx服务,nginx一般是作为服务的入口,其在kubernetes的部署方式也大致相似,我将其分为三种----直接部署、使用数据卷部署、使用ConfigMap部署。个人建议使用ConfigMap部署。

极客神殿 1万+

如何在Kubernetes中部署nginx

搭建Kubernetes环境,参考视频:https://www.bilibili.com/video/BV13z4y1B7kg/?验证格式:https://www.json2yaml.com/convert-yaml-to-json。说明:Running表示启动成功。

gaohuanjie的专栏 876

Kubernetes集群部署Nginx服务_kubesphere nginx

k8s默认使用NodePort对外映射端口为30000-50000如需要映射其他端口需要修改配置文件/opt/kubernetes/cfg/kube-apiserver,修改端口范围。PS:使用NodePort启用端口对外提供服务,如果对外映射多个端口需要在port参数下加参数name定义名称,单个端口无需设置参数name。本次使用了本机挂载hostPath挂载配置文件及根目录,生产环境最好使用pvc挂载。启动的Nginx使用默认的配置文件和默认的网站根目录,需要使用volume挂载。

2401_89213339的博客 799

kubesphere 上部署的服务(nginx代理)怎么获取用户客户访问的真实的IP

在这种模式下,外部流量仍然会保持源 IP 地址,也就是你可以在 Pod 内获取到客户端的真实 IP 地址。默认情况下,发送到 Type=NodePort 的 Service 的数据包会经过源 NAT 处理,导致无法获取到用户的真实ip。这种方式会丢失源 IP 地址(即外部客户端的真实 IP 地址),因此客户端的 IP 地址在 Pod 内部只能看到节点的 IP 地址。在这种模式下,流量会通过集群中的所有节点进行负载均衡,目标是根据服务的所有 Pod 的 IP 来选择目标 Pod。

weixin_51214282的博客 1198
上一篇: 【业务功能128】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-08部署微服务
下一篇: 【业务功能130】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere部署三高微服务项目-k8s集群-10部署后台管理前端项目Vue
studyday1
博客等级 码龄9年 6454粉丝 255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值