Nginx入门的基本使用和配置详解( 三 )


  • http块的配置如下:
http { # ... 省略http块默认带有的配置 upstream myserver {server 115.28.52.63:8080 ;server 115.28.52.63:8081 ;} }复制代码
  • server块的配置如下:
aerver { location / {... 省略location里面默认带有的配置proxy_pass http://myserver; //myserver是上面创建的myserver服务名proxy_connect_timeout 10;}}复制代码
  • Nginx 提供了几种常用的负载均衡(load balance)的分配方式(策略)
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除
2、 weight
weight 代表权,重默认为 1,权重越高被分配的客户端越多
upstream server_pool {server 192.168.5.21 weight=10; // weight 代表权,重默认为 1,权重越高被分配的客户端越多server 192.168.5.22 weight=10; }复制代码3、 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题,例如:
upstream server_pool {ip_hash;server 192.168.5.21:80;server 192.168.5.22:80;}复制代码4、 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream server_pool {server 192.168.5.21:80;server 192.168.5.22:80;fair;}复制代码六、 Nginx 配置实例 3 动静分离1、什么是动静分离?Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯地把动态页面和 静态页面物理分离 。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面, Tomcat 处理动态页面
动静分离从目前实现角度来讲大致分为两种:
  • 一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案
  • 另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开

Nginx入门的基本使用和配置详解

文章插图
 
2、动静分离具体配置
  • 在 liunx 系统中准备静态资源,用于进行访问,在nginx里面,新建一个文件夹data

Nginx入门的基本使用和配置详解

文章插图
 
  • 配置文件中的内容包含三部分内容:全局块 、 events 块 、 http 块(包含http块自身和server块)
在 nginx 配置文件中server块中进行配置,server块的配置如下:
aerver { server 80;server_name 192.168.17.129;#chartset koi8-r;#access_log log/host.access.log main;# 通过nginx实现静态资源跳转location /www/ {# /data/是静态资源目录root /data/;index index.html index.htm;}# 通过nginx实现静态资源跳转location /image/ {# /data/是静态资源目录root /data/;# autoindex on是列出访问目录,可以不加autoindex on;}}复制代码七、 Nginx 的高可用集群1、什么是 nginx 高可用?服务器的主nginx挂掉了,但是我们依然可以成功的请求到数据
Nginx入门的基本使用和配置详解

文章插图
 
(1)需要两台带有 nginx 的服务器
(2)需要 keepalived 软件;类似于路由,里面通过脚本来检查当前的 主服务器的nginx(主nginx) 是否还活着,如果活着就用,如果宕机死了,就去使用 从服务器的nginx(备份的nginx),在这个过程中,该软件会向外提供一个虚拟IP,这个IP实际是不存在的,但是我们需要用这个虚拟IP去访问
(3)需要虚拟 ip
2、配置高可用的准备工作(1)需要两台服务器 192.168.17.129 和 192.168.17.131
(2)在两台服务器安装 nginx 软件
在上面有说明如何安装nginx
(3)在两台服务器安装 keepalived 软件
1) 为了方便,可以直接使用 yum 命令进行安装
yum install keepalived –y
安装的版本是 keepalived.x86_64 0:1.3.5-8.el7_6.5
2)查看是否安装成功:rpm -q -a keepalived
3)安装之后,在 etc 目录里面生成目录 keepalived,目录 keepalived里面有文件 keepalived.conf
3、完成高可用配置(主从配置,2个服务器都要配置)(1)主要是修改
/etc/keepalived/keepalivec.conf 配置文件
# 全局定义global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.17.129smtp_connect_timeout 30router_id LVS_DEVEL # 服务器的主机的名字,可以访问到主机# /etc/hosts 文件中,添加主机名字 例如:127.0.0.1 LVS_DEVEL}# 检测脚本(查看nginx是否还活着)和权重参数vrrp_script chk_http_port {script "/usr/local/src/nginx_check.sh" # 这个是自己创建的脚本文件位置interval 2 # 检测脚本执行的间隔,2秒执行一次weight 2 # 权重}# 虚拟IP的配置,常用的配置vrrp_instance VI_1 {state BACKUP # 备份服务器上将 MASTER 改为 BACKUPinterface ens33 //服务器网卡名称 使用ifconfig命令来查看virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小advert_int 1 # 心跳检测,确认主服务器是否还活着,检测间隔为1秒authentication {auth_type PASS # 权限校验的方式:密码auth_pass 1111 # 权限校验的密码:1111}virtual_ipaddress {192.168.17.50 // VRRP H 虚拟地址}}复制代码


推荐阅读