• mac安装Nginx&Nginx常见的命令&Nginx反向代理、负载均衡


    1.Mac安装Nginx
    brew install nginx
    
    • 1
    2.查看nginx相关的目录
    brew info nginx
    
    • 1
    查看的结果如下
    nginx: stable 1.23.1 (bottled), HEAD
    HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
    https://nginx.org/
    /opt/homebrew/Cellar/nginx/1.23.1 (26 files, 2.2MB) *
      Poured from bottle on 2022-08-22 at 15:35:18
    From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb
    License: BSD-2-Clause
    ==> Dependencies
    Required: openssl@1.1 ✔, pcre2 ✔
    ==> Options
    --HEAD
    	Install HEAD version
    ==> Caveats
    Docroot is: /opt/homebrew/var/www
    
    The default port has been set in /opt/homebrew/etc/nginx/nginx.conf to 8080 so that
    nginx can run without sudo.
    
    nginx will load all files in /opt/homebrew/etc/nginx/servers/.
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    目录信息如下:
    Docroot is: /opt/homebrew/var/www
    conf:/opt/homebrew/etc/nginx/nginx.conf
    load:/opt/homebrew/etc/nginx/servers/
    
    • 1
    • 2
    • 3
    3.启动nginx&停止nginx
    启动:
    nginx
    
    • 1
    • 2
    停止
    nginx -s stop
    
    • 1
    • 2
    4.验证是否启动成功
    localhost:8080(我是修改成了80端口)
    
    • 1
    5.修改了conf配置文件 需要重新加载(要在启动状态下,直接重新加载命令会出错)
    nginx  启动
    nginx -s reload 重新加载配置文件
    
    • 1
    • 2

    反向代理&负载均衡

    反向代理
    • 正向代理:A到C(知道目的地),但路是不通的,通过B搭桥使路联通,最终使A成功到达C,这是正向代理
    • 反向代理:A到B,B又将A带领到最终真正的目的地C,实现A到C,A不知道自己的目的地是C,这就是反向代理
    • 负载均衡:上面的反向代理,不是仅仅通过B将A带领到C,可能是是B1,B2,B3…,通过不同的B带领到C,这是负载均衡
    反向代理配置(在nginx配置文件中)

    访问localhost:82 会去访问 IP地址:端口

    server {
        listen 82;
        server_name localhost;
        location / {
            proxy_pass http://IP地址:端口; 	#反向代理配置,将请求转发到指定服务
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    负载均衡配置

    访问localhost:82 会去访问 IP地址1:端口1 和 IP地址2:端口2
    targetserver 是自定义的

    #upstream指令可以定义一组服务器
    upstream targetserver{	
        server IP地址1:端口1 weight=10; # 权重的分配的请求概率大
        server IP地址2:端口2 weight=5;
    }
    
    server {
        listen    82;
        server_name  localhost;
        location / {
            proxy_pass http://targetserver;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    vue音频制作
    多数据源切换
    微服务远程调用组件Feign的使用详解
    配置JupyterLab远程密码访问
    Spark 用AnyFunSuite单元测试Scala详细教程
    【云原生 中间件】Netty是干什么的?
    云服务器实例重启后,各个微服务的接口(涉及mysql操作的)都用不了了
    工具篇--分布式定时任务springBoot 整合 elasticjob使用(3)
    Python3.12 新特性——GIL大突破!
    2024/6/30 英语每日一段
  • 原文地址:https://blog.csdn.net/weixin_44519169/article/details/126504476