关于nginx的那点事儿(反向代理与负载均衡及home brew)

常常会听到一些关于反向代理和负载均衡的话题,但是具体如何实现呢?

先介绍一下反向代理和负载均衡

反向代理

我们常说的代理指的是正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务器并不知道真实的客户端是谁,客户端请求的服务都被代理服务器来代替请求。
关于nginx的那点事儿(反向代理与负载均衡及home brew)_第1张图片
而反向代理隐藏了真实的服务端,当客户端发出一个请求的时候,背后可能有很多服务器在服务,但是客户端并不知道具体是哪一台服务器在服务,客户端只需要知道反向代理服务器就好了,就比如我们上百度查询,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮助我们将请求转发到真实的服务器上。
关于nginx的那点事儿(反向代理与负载均衡及home brew)_第2张图片

负载均衡

公司会建立很多的服务器,这些服务器组成了服务器集群,当用户访问网站的时候,先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入选择的服务器。用户每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。

nginx反向代理与负载均衡的实现

nginx 安装

安装homebrew

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

如果之前尝试过其他脚本安装,请移除Homebrew后再安装

将脚本复制到终端 enter

/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"

果页面出现下面的卡顿

==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
ctrol + c 中断,然后执行下面的命令
cd "$(brew --repo)/Library/Taps/"

mkdir homebrew && cd homebrew

git clone git://mirrors.ustc.edu.cn/homebrew-core.git

安装cask 同样也有安装失败或者卡住的问题,解决方法也是一样

cd "$(brew --repo)/Library/Taps/"
cd homebrew
git clone https://mirrors.ustc.edu.cn/homebrew-cask.git

安装成功后会有下图提示
关于nginx的那点事儿(反向代理与负载均衡及home brew)_第3张图片
homebrew更新

brew update

设置镜像

中科大源

git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

brew update

清华大学源

git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

brew update

恢复默认源

git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

brew update

卸载 Homebrew

使用官方脚本同样会遇到uninstall地址无法访问问题,可以使用下面脚本

/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/uninstall.sh)"

安装nginx

brew install nginx    安装nginx

nginx -v即可查看版本
关于nginx的那点事儿(反向代理与负载均衡及home brew)_第4张图片
进入到nginx文件夹

cd /usr/local/etc/nginx

关于nginx的那点事儿(反向代理与负载均衡及home brew)_第5张图片

启动nginx

nginx

关于nginx的那点事儿(反向代理与负载均衡及home brew)_第6张图片
在浏览器输入 http://localhost:8080/
关于nginx的那点事儿(反向代理与负载均衡及home brew)_第7张图片
这样nginx就启动好了

关闭nginx

nginx -s stop

重启nginx

nginx -s reload

检查配置

nginx -t

在这里插入图片描述
执行下面的命令打开nginx配置文件

vim Nginx.conf

关于nginx的那点事儿(反向代理与负载均衡及home brew)_第8张图片

nginx 反向代理

nginx反向代理主要通过配置proxy_pass

server {
     
        listen  9001;
        server_name  localhost;

        location ~ /oss/ {
     
              proxy_pass http://localhost:8001;
        }

nginx 负载均衡

通过 upstream 实现负载均衡

upstream test{
      
      server 11.22.333.11:6666 weight=1; 
      server 11.22.333.44:5555 weight=2; 
}

配置完成后保存文件,重启nginx即可。

最后

拓展干货阅读:一线大厂面试题、高并发等主流技术资料

码字不易,如果觉得本篇文章对你有用的话,请给我一键三连!关注作者,后续会有更多的干货分享,请持续关注!

你可能感兴趣的:(nginx,java,linux,数据库,分布式)