Nginx 搭建域名访问环境

news2024/12/25 9:58:21

1.Nginx配置文件

server {
    listen       80;
    server_name  www.gulimall.com;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        proxy_pass http://192.168.232.1:10001;
    }

    #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;
    #}
}

 让所有的请求都转到,商品服务

2.Nginx 搭建转发网关进行负载均衡

nginx.conf


user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

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

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

	upstream gulimall{
		server 192.168.232.1:88;
	}
    





    include /etc/nginx/conf.d/*.conf;
}

 gulimall.conf

server {
    listen       80;
    server_name  www.gulimall.com;

   
    location / {
        proxy_pass http://gulimall;
    }

   
}

网关 application.yml



        - id: gulimall_host_route
          uri: lb://gulimall-product
          predicates:
            - Host=www.gulimall.com

有个坑

因为nginx代理给网关的时候会 丢掉请求头里的host ,所以网关的匹配规则没有匹配上导致404

 

 需要配置Nginx

在gulimall.conf

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

 

3.实现动静分离

	 location /static {
        root   /usr/share/nginx/html;
		autoindex on;  #开启文件目录结构在网页显示
    }

注意路径会拼成,  /usr/share/nginx/html/static

 4.还有一个坑

这个匹配规则不要放前面,因为这些请求都是从上往下匹配的,匹配到了,就不往下匹配了,然而往nginx发送的域名都是 www.gulimall.com 所以,都会走第一个匹配,下面这些就匹配不上,就找不到那个接口就404了。 

做好两点:

  1.请求接口  http://域名/api/xxx

   2.请求页面 http://域名 

转发给网关,通过网关路由到对应的服务 !

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

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

相关文章

学习redis根本不愁,简单明了

一、redis是什么? 在认识redis之前,我们先说一下什么是NoSQL? 1. NoSQL NoSQL,顾名思义就是不仅仅是SQL,泛指非关系数据库。 2. NoSQL的四大分类 (1)键值(key-value)存储…

程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益

决策树不仅在人工智能领域发挥着他的作用,而且在数据挖掘中也在分类领域中独占鳌头。了解决策树的思想是学习数据挖掘中的分类算法的关键,也是学习分类算法的基础。 什么是决策树 用术语来说,决策树(Decision Tree)是…

写代码必用字体

下载链接 字体下载链接 使用情况/截图 软件:DEV-CPP 系统:Win10专业版 自带判等、大于、小于等符号的专属字体

微信小程序开发---自定义底部tabBar

自定义tabBar注意事项: 在自定义 tabBar 模式下 ,为了保证低版本兼容以及区分哪些页面是 tab 页,app.json文件中 tabBar 的相关配置项需完整声明,但这些字段不会作用于自定义 tabBar 的渲染。所有 tabBar 的样式都由该自定义组件…

java:JWT的简单例子

【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>org.springf…

Hadoop 2.0 大家族(三)

目录 五、Hive&#xff08;一&#xff09;Hive简介&#xff08;二&#xff09;Hive入门 六、Oozie&#xff08;一&#xff09;Oozie简介&#xff08;二&#xff09;Oozie入门 五、Hive Hive是一个构建在Hadoop上的数据仓库框架&#xff0c;它起源于Facebook内部信息处理平台。H…

java基于ssm+jsp快递管理系统源码(适合新手)

在管理信息系统的生命周期中&#xff0c;仅过了需求分析、系统设计等阶段之后&#xff0c;便开始了系统实施阶段。在系统分析和设计阶段&#xff0c;系统开发工作主要是集中在逻辑、功能和技术设计上&#xff0c;系统实施阶段要继承此前面各个阶段的工作成果&#xff0c;将技术…

钡铼BL110在智慧气象站实现Modbus转MQTT无线接入主流云

随着物联网&#xff08;IoT&#xff09;技术的发展&#xff0c;各行各业都在积极探索将智能设备与云平台相结合&#xff0c;以提升系统的智能化和自动化水平。智慧气象站作为其中重要的一环&#xff0c;通过实时监测环境数据&#xff0c;为农业、交通、航空等行业提供精准的气象…

FPGA 690T 高速存储设计

高速存储设计会有各种需求的考虑&#xff0c;那么对应的方案也不完全相同&#xff0c;这篇文章出一期纯FPGA实现的高速存储方案。用纯fpga实现高速存储板卡有易国产化&#xff0c;功耗低和体积小等特点&#xff0c;缺点就是灵活性不是很强&#xff0c;实现标准ext4和nfs文件系统…

AI大模型日报#0622:Claude 3.5 Sonnet超越GPT-4o、盘古大模型跳级发布、松鼠AI多模态教育大模型

导读&#xff1a;AI大模型日报&#xff0c;爬虫LLM自动生成&#xff0c;一文览尽每日AI大模型要点资讯&#xff01;目前采用“文心一言”&#xff08;ERNIE-4.0-8K-latest&#xff09;生成了今日要点以及每条资讯的摘要。欢迎阅读&#xff01;《AI大模型日报》今日要点&#xf…

不同版本的 Rocky Linux 快速更换阿里镜像源

环境&#xff1a;兼容 Rocky Linux 任意版本。 搞服务器系统从 CentOS 折腾到 Rocky Linux&#xff0c;然后又折腾到 Alma Linux&#xff1b;最近因为 RKE2 没有做 Alma Linux 的兼容性&#xff0c;又折腾到了 Rocky Linux &#xff0c;真的是一把鼻涕一把泪呀。但是实在是不理…

关于jupyter notebook的使用经验

jupyter notebook 第一点&#xff0c;调整每次打开jupyter notebook的时候的位置第二点&#xff0c;如何设置jupyter notebook可以使用本地anaconda创建的虚拟环境呢&#xff1f;第三点&#xff0c;使用jupyter notebook的技巧 以下三点都是独立的&#xff0c;可以根据自己的需…

Web项目部署后浏览器刷新返回Nginx的404错误对应解决方案

data: 2024/6/22 16:05:34 周六 limou3434 叠甲&#xff1a;以下文章主要是依靠我的实际编码学习中总结出来的经验之谈&#xff0c;求逻辑自洽&#xff0c;不能百分百保证正确&#xff0c;有错误、未定义、不合适的内容请尽情指出&#xff01; 文章目录 1.源头2.排错3.原因4.解…

政务大厅引导系统:AR、VR技术革新引领政务服务体验升级

一、传统政务大厅面临的普遍痛点 随着城市的发展和政务服务需求的增长&#xff0c;传统的政务大厅面临着诸多挑战和痛点&#xff1a; 信息不对称&#xff1a;政务大厅内各部门信息分散&#xff0c;群众难以快速获取全面准确的服务信息&#xff0c;导致办事效率低下。 办事流…

如何恢复电脑硬盘删除数据?提供一套实用恢复方案

在数字化时代&#xff0c;电脑硬盘中存储的数据对于个人和企业来说都至关重要。然而&#xff0c;有时我们可能会不小心删除了一些重要文件&#xff0c;或者因为某种原因导致数据丢失。这时候&#xff0c;恢复硬盘上被删除的数据就显得尤为重要。本文将为您提供一套实用的电脑硬…

JAVA大型医院绩效考核系统源码:​医院绩效考核实施的难点痛点

JAVA大型医院绩效考核系统源码&#xff1a;​医院绩效考核实施的难点痛点 绩效考核数字化综合管理系统是一个基于数字化技术的管理平台&#xff0c;用于帮助企业、机构等组织进行绩效考评的各个环节的管理和处理。它将绩效考评的各个环节集成到一个系统中&#xff0c;包括目标…

Vue79-路由组件独有的2个新的生命周期钩子

一、需求 news.vue路由组件被缓存了&#xff08;因为想要保留里面的输入框的数据&#xff01;&#xff09;&#xff0c;导致&#xff0c;路由页面切走&#xff0c;组件也不会被销毁&#xff0c;所以&#xff0c;beforeDestroy()函数就不会被执行&#xff0c;所以&#xff0c;定…

java—Mybatis缓存

缓存的作用 缓存(cache&#xff09;的作用是为了减轻数据库的压力&#xff0c;提高查询性能。 为什么使用缓存 mysql数据库保存的数据均在硬盘中&#xff0c;CPU是不会直接和硬盘进行交互的&#xff0c;因为硬盘的数据传输率很低&#xff0c;而CPU的数据传输率很高, CPU和内存直…

Android获取控件宽高的几种方式

第一种方式&#xff1a;在需要时获取&#xff0c;如控件点击时再获取 button.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { getTextWidthAndHeight(); } }); 第二种方式&#xff1a;重写onWindowFocusChanged()方法 Overr…

创建npm私包

参考文章&#xff1a; 使用双重身份验证访问 npm | npm 中文网 私有npm包的实例详解-js教程-PHP中文网 1.注册npm账号 npm官网&#xff1a; npm | Home 2.安装node 百度挺多的&#xff0c;安装完后&#xff0c;检查是否安装成功就行 3.写一个简单的模块 创建个文件夹&am…