【Nginx 开发】反向代理配置,负载均衡配置,动静分离配置

devtools/2024/10/18 0:29:37/

nginx 配置

反向代理

我们根据实例进行讲解,效果是通过在浏览器访问www.hlh.com,跳转到Linux系统的tomcat主页面中

第一步:在windows系统的host文件进行域名和ip对应关系的配置
在host文件中添加自己的地址映射
192.168.175.111 www.hlh.com

第二步:在nginx进行请求转发的配置(反向代理的配置)

    server {listen       80;server_name  192.168.75.135;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;proxy_pass http://127.0.0.1:8080;index  index.html index.htm;}

我们还可以及进行通过不同的访问路径进入到不同的tomcat服务器中
例如:访问http://127.0.0.1:9001/edu/,直接跳转到,127.0.0.1:8081
访问 http://127.0.0.1:9001/vod/,直接跳转到127.0.0.1:8082
仍然在配置文件中进行配置:

server{listen 9001;server_name localhost;location ~ /edu/ {proxy_pass http://localhost:8001;}location ~ /vod/ {proxy_pass http://localhost:8002; }
}
  • location后的符号表达
    =:用于不含正则表达式的url前,要求请求字符串与url严格匹配,如果匹配成功,就挺停止继续向下的搜索并立即处理该请求
    ~:用于表示url包含正则表达式,并且区分大小写
    ~*:用于表示url包含正则表达式,并且不区分大小写
    ^~:用于不含正则表达式的url前,要求Nginx 服务器找到表示url和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则url和请求字符串做匹配

配置负载均衡

访问同一个地址分配到不同的tomcat端口

http{upstream myserver{server 192.168.75.135:8080;server 192.168.75.135:8081 ;}server{location /{proxy_pass http://myserver;}}
}
  • 复杂均衡的分配方式
  1. 轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能够自动剔除
  2. weight:代表权,默认为1,权重越高被分配的客户端越多
http{upstream myserver{server 192.168.75.135:8080 weight=1;server 192.168.75.135:8081 weight=1;}server{location /{proxy_pass http://myserver;}}
}
  1. ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题
http{upstream myserver{ip_hashserver 192.168.75.135:8080;server 192.168.75.135:8081;}server{location /{proxy_pass http://myserver;}}
}
  1. fair(第三方):按照服务器的响应时间来分配,访问时间短的先行进行分配
http{upstream myserver{server 192.168.75.135:8080;server 192.168.75.135:8081;fair;}server{location /{proxy_pass http://myserver;}}
}

配置动静分离

动静分离目前的两种方式:

  1. 把静态文件独立成单独的域名,放在独立的服务器上(目前的主流)
  2. 动态跟静态文件混合在一起发布,通过nginx来分开

举例访问/www/image时访问nginx本地的静态资源

http{server{location /www/{root /data/;index index.html}location /image/{root /data/;autoindex on;}}
}

root 跟的是在nginx中静态资源所在的目录
autoindex on:表示展示的时候列出目录中所有的文件


http://www.ppmy.cn/devtools/32784.html

相关文章

02.zabbix配置web界面

zabbix配置web界面 访问搭建好的地址: http://192.168.111.66/zabbix 检查配置都是正常,下一步 对应的信息,我设置的密码是:123456,下一步即可; 给服务器随意设置一个名字,下一步 检查数据…

Centos7环境下搭建SVN服务器、迁移svn到其他的服务器

简介: SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 一、简介 参考链接&…

2021-10-20 51蛋骗鸡左移右移函数自动循环

缘由单片机左和右位移函数-嵌入式-CSDN问答 #include "REG52.h" #include<intrins.h>if(Js10)//设置定时器50毫秒{if(k){P0_crol_(P0,1);if(P0128){k~k;Js0;}}if(!k&&Js){P0_cror_(P0,1);if(P01)k~k;} // if(!wk1&&!wk2)P0(k?255:0); // …

活动图与状态图:UML中流程图的精细化表达——专业解析系统动态性与状态变迁

流程图是一种通用的图形表示法&#xff0c;用以展示步骤、决策和循环等流程控制结构。它通常用于描述算法、程序执行流程或业务过程&#xff0c;关注于任务的顺序执行。流程图强调顺序、分支和循环&#xff0c;适用于详细说明具体的处理步骤&#xff0c;图形符号相对基础和通用…

Meta Llama 3 使用 Hugging Face 和 PyTorch 优化 CPU 推理

原文地址&#xff1a;meta-llama-3-optimized-cpu-inference-with-hugging-face-and-pytorch 了解在 CPU 上部署 Meta* Llama 3 时如何减少模型延迟 2024 年 4 月 19 日 万众期待的 Meta 第三代 Llama 发布了&#xff0c;我想确保你知道如何以最佳方式部署这个最先进的&…

4.Spring Security重要接口

当什么都没有配置的时候&#xff0c;账号和密码是由spring security自定义生成的。在实际项目中账号和密码都是从数据库中查询出来的。所以要通过自定义逻辑控制认证逻辑。 UserDetailService 接口 1.创建类继承UsernamePasswordAuthenticationFilter,重写三个方法&#xff1…

双指针 Leetcode 15 三数之和

双指针 Leetcode 15 三数之和 Leetcode 15 学习记录自代码随想录 要点&#xff1a;1、如果用哈希表则在处理输出数组去重时较复杂&#xff1b; 2、双指针法&#xff0c;双指针法使用前要对数组排序。 class Solution { public:vector<vector<int>> threeSum(ve…

KMP算法--C语言实现

#include <stdio.h> #include <assert.h> #include <string.h> #include <stdlib.h>void GetNext(char* sub, int next[]) {int lenSub strlen(sub);next[0] -1; // 初始第一个为 -1 第二个为 0next[1] 0;int i 2;int k 0;while (i < lenSub){…