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

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

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

反向代理

我们常说的代理指的是正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务器并不知道真实的客户端是谁,客户端请求的服务都被代理服务器来代替请求。

image.png

而反向代理隐藏了真实的服务端,当客户端发出一个请求的时候,背后可能有很多服务器在服务,但是客户端并不知道具体是哪一台服务器在服务,客户端只需要知道反向代理服务器就好了,就比如我们上百度查询,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮助我们将请求转发到真实的服务器上。

image.png

负载均衡

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

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
复制代码

安装成功后会有下图提示

image.png

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即可查看版本

image.png

进入到nginx文件夹

cd /usr/local/etc/nginx
复制代码

image.png

启动nginx

nginx
复制代码

image.png

在浏览器输入 http://localhost:8080/

image.png

这样nginx就启动好了

关闭nginx

nginx -s stop
复制代码

重启nginx

nginx -s reload
复制代码

检查配置

nginx -t
复制代码

image.png


执行下面的命令打开nginx配置文件

vim Nginx.conf
复制代码

image.png

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即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享