01-Nginx初识

Nginx初识

  • 在ubuntu 18.04下面的安装教程

一、几个问题?

1.1 Nginx的作用、应用场景?

  • 路由转发:将不同的请求转到到后端不同的服务进程。
  • 负载均衡:将同一个请求分发到服务的不同实例。
  • 静态服务器:存放静态的js、图片、视频、css、html等。

1.2 正向代理和反向代理?

  • 正向代理是客户端代理,比如客户端通过配置一个代理服务器的地址,来访问原本不能直接访问的地址,被访问的资源有可能无法感知到客户端,正向代理一般和客户端在一个局域网(不绝对)作用一般如下:
1.访问原来无法访问的资源,如google,
2.对客户端访问授权,上网进行认证,
3.代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
  • 反向代理是服务端代理,客户端不需要配置反向代理服务器地址,反向代理服务器背后可能隐藏了很多真实的服务器,反向代理服务器对这些服务器做负载均衡、路由、安全保护等功能,反向代理一般和服务器在一个局域网(不绝对)。
1.路由转发
2.负载均衡
3.保证内网(服务器)安全

二、安装

  • 下载包、解压
sudo wget http://nginx.org/download/nginx-1.14.2.tar.gz

sudo tar -zxvf nginx-1.14.2.tar.gz
  • 编译
//编译
cd nginx-1.14.2/
sudo ./configure
sudo make
sudo make install

//查找编译后的命令,默认在/usr/local/nginx
whereis nginx
intellif@master:/opt/nginx/nginx-1.14.2$ whereis nginx
nginx: /usr/local/nginx
  • 启动
cd /usr/local/nginx/sbin
sudo ./nginx

三、Nginx常见命令

3.1 启动停止

./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

四、简单实战

4.1 配置静态资源服务器

  • 修改nginx配置文件,在server节点下面添加如下内容:
location /image/ {
    root  /data/static/;
    autoindex on;
}
  • 如上配置之后,在/data/static下面创建一个image目录,在目录里面放一个a.jpg文件,再访问路径:http://ip/image/1.jpg,就可以展示图片了。注意location后面的/image/,一定要在root所指的路径下面创建一个这样的路径才行,刚开始我理解错了,这样访问http://ip/image/gp_1.jpg没错,但是我直接把图片放在了/data/static下面,但是是不对的,这只是一个root路径,下面可以做很多划分,比如下面可能还有image1,image2,这样前端就可以通过url映射到不同的路径了。

4.2 配置负载均衡

  • 修改配置文件,在server节点下面添加内容,意思是前端的/balance路径映射到一个balanceServer,
location /balance {
    proxy_pass   http://balanceServer;
    index  index.html index.htm;
}
  • 配置balanceServer,在server节点之外添加下面内容,注意不能写到server里面,可以写在server前面,
//下面表示会在2台设备之前做负载均衡,52的权重是3,大概75%的请求会到52服务器,25%的请求会到53服务器
upstream balance {
          server 192.168.13.52:8080 weight=3;
          server 192.168.13.53:8080;
}
  • 除了weight权重之外,还能配置如下:
backup( 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。)
down(表示单前的server暂时不参与负载)

upstream myServer {    
    server 192.168.72.49:9090 down;   
    server 192.168.72.49:8080 weight=2;   
    server 192.168.72.49:6060;   
    server 192.168.72.49:7070 backup;   
}

4.3 路由配置

  • 路由配置和前面的静态服务器配置差不多,都是利用location来配置
location ~/servera {
    proxy_pass http://192.168.13.52:8080;
}

location ~/serverb {
    proxy_pass http://192.168.13.53:8080;
}

  • 前端通过http://ip/servera,或者http://ip/serverb来访问。

五、负载策略

5.1 轮询策略

  • 前面的配置去掉权重就是轮询
upstream balance {
          server 192.168.13.52:8080;
          server 192.168.13.53:8080;
}

5.2 加权轮询

upstream balance {
          server 192.168.13.52:8080 weight=3;
          server 192.168.13.53:8080;
}

5.3 最少连接数策略

  • 请求将转发到连接数较少的服务器上
upstream balance {
    least_conn;
    server 192.168.13.52:8080 weight=3;
    server 192.168.13.53:8080;
}

5.4 Ip Hash策略

  • 该策略可以实现某一客户端的请求固定转发至某一服务器,保证session不会因为负载均衡失效
upstream balance {
    ip_hash;
    server 192.168.13.52:8080 weight=3;
    server 192.168.13.53:8080;
}

六、参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值