nginx简单配置负载均衡与反向代理

1.最近简单学了下nginx如何配置反向代理和负载均衡,记录如下,菜鸟入门,如有错误欢迎指出

2.关于nginx的启动和停止

首先:window下切换到nginx文件夹下
(1)启动:.\nginx.exe或者start nginx
(2)停止:.\nginx.exe -s stop(强制停止,结束进程。不保存当前任务)
          .\nginx.exe -s quit(停止,保存当前任务)

3.nginx.conf文件,反向代理配置

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    gzip on;
    gzip_types text/plain application/javascript text/css;
    keepalive_timeout 65;


    server {
    #nginx监听8080端口
    listen 8080; 
   
    #配置访问nginx的ip,实际场景中改为本机ip
    server_name localhost;

    #浏览器输入localhost时匹配的location
    location / {
    #根文件夹
    root html/webApp;

    #try_files:检查文件; $uri:监测的文件路径; /index.html:文件不存在重定向的新路径 
    try_files $uri /index.html;
    
    #默认打开网页
    index index.html; 
    }

    #~     正则匹配,区分大小写
    #~*    正则匹配,不区分大小写
    #^~   普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一
    #般用来匹配目录
    #=     普通字符精确匹配
    location ^~/test/ {
    # 把 /test路径下的请求转发给真正的后端服务器
     proxy_pass http://192.168.0.1:1234/project; 
    # 把host头传过去,后端服务程序将收到真正请求的ip地址, 否则收到的是localhost
    proxy_set_header Host $http_host;

    # 把cookie中的path部分从/project替换成/test,若不替换session匹配失效
    proxy_cookie_path /project /test;

    #cookie中的域名替换
    # 把cookie的cookie_domain部分从/project替换成/test
    proxy_cookie_domain /project /test;

    #设置跨域请求头
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers "Origin,X-Requested-With,Content-Type,Accept";
    add_header Access-Control-Allow-Methods "GET,POST,OPTIONS";
    }
}  

}

4.nginx.conf文件,负载均衡配置

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    gzip on;
    gzip_types text/plain application/javascript text/css;
    keepalive_timeout 65;

    upstream api_server {
         #加权轮询 访问3次 8080服务接受一次8090接受两次
         #server 192.168.0.1:8080 weight=1;
         #server 192.168.0.1:8090 weight=2;
         #源地址哈希法 对访问用户的IP进行hash后的结果进行分配,每次用户请求同一个后端服务
         #器,能够解决session的问题
         #ip_hash;
         #server 192.168.0.1:8080;
         #server 192.168.0.1:8090;
         #响应时间轮询,服务器响应时间越短,越先进行分发
         #fair;
         #server 192.168.0.1:8080;
         #server 192.168.0.1:8090;

         keepalive 2000;
    }
    server {
         listen       80;   
         #配置访问nginx的ip,实际场景中改为本机ip                                                      
         server_name  localhost;                                               
         client_max_body_size 1024M;
         location / {
              root html/webapp;
              index index.html; 
         }
        location /api/ {
             proxy_pass http://api_server/;
         }
    }
}

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值