04_使用域名访问后台管理系统(Nginx)

04_使用域名访问后台管理系统(Nginx)

1.现在的方式存在的问题

  • 现在的访问路径:http://127.0.0.1:8080 (localhost:8080)
  • 存在的问题
    • 开发环境和测试环境ip不一样,每次环境变化时,都要修改访问地址
    • 页面加载资源文件,有可能会使用url的全路径。一旦更换环境(ip),资源文件就无法加载了
    • ip地址在访问的时候是没有意义的(只是用来定位服务器的地址,但是书写麻烦,而且在开发和测试上线时会变化),用户不会通过ip访问,一般通过域名访问

2.修改hosts配置,使用域名访问

2.1 可以通过修改hosts文件的方式,增加ip地址和域名的映射
  • hosts文件的地址:C:\Windows\System32\drivers\etc\hosts
    在这里插入图片描述

  • 添加自定义规则
    在这里插入图片描述

  • 浏览器使用域名访问测试
    在这里插入图片描述

2.2 使用SwitchHosts管理
  • 经常做域名映射的话,每次都去c盘中更改太麻烦了,使用SwitchHosts工具来管理
    在这里插入图片描述
    在这里插入图片描述
2.3 问题
  • 实现通过域名访问后,还存在端口号的问题,用户是直接输入域名的,不会填写端口号
  • nginx反向代理服务器

3.Nginx

3.1 Nginx介绍

在这里插入图片描述

  • 我们可以使用Nginx反向代理,虚拟主机,负载均衡
4.2 反向代理
  • 指代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端。此时代理服务器对外就表现为一个反向代理服务器。
    在这里插入图片描述
    在这里插入图片描述

  • 编辑配置文件,配置反向代理的地址:conf/nginx.conf
    在这里插入图片描述

  • 添加127.0.0.1:8080的代理

在这里插入图片描述

4.3 Nginx三个命令
  • 启动:start nginx.exe

  • 停止:nginx.exe -s stop

  • 重载:nginx.exe -s reload

  • 进入到nginx目录,输入cmd来启动nginx

    • 任务管理器的详细信息中有这里线程
      在这里插入图片描述
4.4 浏览器测试
  • 把swtichhosts和nginx中的域名前www.去掉
    在这里插入图片描述
4.5 Nginx的访问流程

在这里插入图片描述


4.商品管理的删除

4.1 查看前端删除的操作

在这里插入图片描述

4.2 分析设计
  • url:/item/delete
  • 参数:params:{“ids”:ids} ids是一个id组成的数组
  • 返回:自定义的结果对象,封装了含有status状态的属性
4.3 自定义响应结果
  • 后面所有的ajax响应都是json对象并且含有status属性,我们就自定义个本项目的相应结果对象,专门处理增,删,改之后的响应结果

  • 在common中创建一个pojo–DreamResult

    package com.dream.common.pojo;
    
    public class DreamResult implements Serializable{
        //状态码  定义为跟http响应的状态码的含义一样 200代表成功
        private Integer status;
        //响应之后的提示
        private String msg;
        //响应如果需要带数据,封装到data
        private Object data;
    
        /*
        * 提供几个静态工厂方法,用来返回结果对象同时设置响应结果
        * */
        //3、如果成功了 需要返回对象
        public static DreamResult ok(Object data){
            return new DreamResult(data);
        }
        //2、如果失败了,则自定义DreamResult对象
        public static DreamResult build(Integer status,String name,Object data){
           return new DreamResult(status,name,data);
        }
        //1、如果成功了但是没有数据要返回,直接调用ok方法代表成功
        public static DreamResult ok(){
            return new DreamResult(null);
        }
    
    
        //一旦返回有数据了,则代表肯定成功
        public DreamResult(Object data) {
            this.data = data;
            this.status=200;
            this.msg="ok";
        }
    
        public DreamResult() {
        }
    
        public DreamResult(Integer status, String msg, Object data) {
            this.status = status;
            this.msg = msg;
            this.data = data;
        }
    
        public Integer getStatus() {
            return status;
        }
    
        public void setStatus(Integer status) {
            this.status = status;
        }
    
        public String getMsg() {
            return msg;
        }
    
        public void setMsg(String msg) {
            this.msg = msg;
        }
    
        public Object getData() {
            return data;
        }
    
        public void setData(Object data) {
            this.data = data;
        }
    }
    
4.4 完成controller
  • Controller接收的参数不要是数组类型,要是集合类型才行
    • 跨项目传输对象需要是集合,不能是数组,集合实现了序列化
      在这里插入图片描述
4.4 完成业务层

在这里插入图片描述

后台管理系统实现反向代理的作用是通过代理服务器来接受外部的连接请求,然后将请求转发给内部服务器处理,并将服务器返回的结果返回给外部客户端。这样可以实现后台管理系统的负载均衡和数据共享。 为了实现反向代理,可以使用Nginx来配置代理站点。在Nginx的配置文件中,可以通过proxy_pass指令来配置代理的目标服务器。同时,可以使用upstream指令来定义多个服务器,并设置权重,实现负载均衡的功能。 例如,可以将后台管理系统的请求代理到多台服务器上行处理。在Nginx的配置文件中,可以使用upstream指令定义多个服务器,并使用proxy_pass指令将请求转发给这些服务器。通过设置权重,可以根据服务器的性能分配流量,实现负载均衡的效果。 具体的配置可以参考以下示例: ``` http { upstream backend { server 192.168.1.100:8080 weight=1; server 192.168.1.101:8080 weight=1; server 192.168.1.102:8080 weight=1; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } } } ``` 以上配置将来自example.com的请求转发给backend中定义的服务器,并根据权重行负载均衡。这样后台管理系统就可以通过反向代理实现高性能和负载均衡的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [使用域名访问后台系统、Nginx反向代理服务器](https://blog.csdn.net/Huangyuhua068/article/details/84257982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Nginx 反向代理+负载均衡](https://blog.csdn.net/weixin_45630258/article/details/124976564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

robona

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值