Nginx的安装和基本使用以及反向代理、负载均衡、动静分离和nginx高可用的配置实例

1 篇文章 0 订阅

nginx

常用命令

1.查看nginx版本号

./nginx -v

2.启动nginx

./nginx

3。关闭nginx

./nginx -s stop

4.重新加载nginx

./nginx -s re
配置文件 nginx.conf
1.全局块

设置影响nginx服务器整体运行的配置命令

2.events

主要影响nginx服务器与用户的网络连接

3.http

nginx配置最频繁的地方

  1. http全局块
  2. server
    1. 与虚拟主机有关
    2. 包含:
      1. server全局块
      2. location
一.nginx配置实例1:反向代理1
1.实现效果:

(1).打开浏览器,输入www.123.com 跳转到服务器指定的端口主页

2.准备工作

(1)启动服务器,打开指定的端口。

(2)对外开放指定的端口

 firewall-cmd --add-port=****/tcp --permanent
 firewall-cmd --reload

查看已经开放的端口号

firewall-cmd --list-all
3.打开物理机的浏览器访问对应IP:port测试是否成功
4.具体配置

(1)物理机hosts文件中:
#配置域名映射的ip地址
ip+空格+域名

(2)在nginx进行请求转发的配置(反向代理配置)

​ 在nginx.conf文件中进行配置:

​ 1.在server块中:

server_name改成对应的虚拟机的ip

location中添加转发的路径

proxy_pass http://127.0.0.1:port;

5.测试

启动nginx

二.nginx配置实例1:反向代理2

多个端口的请求转发

三.nginx配置实例2:负载均衡

1.nginx分配服务器策略:
默认:轮询,按照时间的顺序逐一分配到服务器列表
weight:代表权重,权重大,分配的请求数越多 `

upstream server_pool{

	server ip:port weight=10;
	
	server ip2:port weight=10;

}
ip_hash :每个请求按方粉ip的hash结果分配,这样每一个访客固定一个后端服务器,可以解决session的问题,例如:
upstream server_pool{
	ip_hash;
	server ip:port;
	server ip2:port;
}

fair(第三方):按照后端服务器的响应时间分配客户端的请求。

upstream server_pool{
	server ip:port;
	server ip2:port;
	fair;
}
2.nginx.conf配置文件配置:
在http块中

upstream myserver{

​	server 服务器ip:端口; #服务器列表

​	server 服务器ip2:端口;

​	……

} # 负载均衡的服务器列表

同时修改 server中的server_name和location中的proxy_pass

四.nginx配置实例:动静分离

  1. 概念:静态请求与动态请求分离

    • 第一种是动态请求服务器和静态资源服务器分开。

    • 第二种是静态和动态文件混合在一起,通过nginx来分开。

      通过location 指定不同的后缀名实现不同的请求转发,

      通过expires参数设置,设置浏览器缓存过期的时间

  2. 具体配置

    • nginx.conf配置文件中:

      • server

        • server_name 的修改:
 location /www/ {

   ​	root /data/;

   ​	index index.html index.htm;

   }

   location /image/ {

   ​	root /data/;

   ​	autoindex on; #列出文件夹中的内容

   }

五,nginx高可用

  1. 问题:当nginx宕机时,高可用解决该问题。

  2. 如何解决?

    • 多台nginx(nginx1、nginx2,……)
    • 主从架构(masterbackup
      • keepalived:用于检测主从nginx的状态,来切换lived的nginx
      • 对外开放的时一个虚拟IP,主从nginx都要配置这个虚拟IPkeepalived来监测
  3. 配置高可用:

    • 实例:两台服务器

      • 安装nginx工具
      • 安装keepalived工具
        • yum -y install keepalived
        • rpm -q -a keepalived 检查安装是否成功
        • 安装在/etc/keepalived
        • 配置文件在 /etc/keepalived/keepalived.conf
          • global_defs 全局定义
            • router_id LVS_DEVEL #访问到服务器的名字
              • vi /etc/hosts
                • 127.0.0.1 LVS_DEVEL
          • vrrp_script_chk_http_port #脚本配置
            • script “path” #检测脚本
            • interval 2 #检测脚本执行的间隔 每隔两秒执行一次
            • weight 2 #权重 当脚本成立时,降低权重,从主变到从
          • vrrp_instance_VI_1
            • state MASTER #MASTER 否则BACKUP
            • interface ens33 #网卡名
            • virtual_router_id 51 #主备机的virtual_router_id必须相同
            • priority 100 #主备机取不同的优先级,主机值越大,备份机越小
            • advert_int 1 #每隔1秒检测心跳
            • virtual_ipaddress{ip # vrrp h 虚拟地址 对外开放的虚拟ip,……}
    • 完成高可用配置(主从配置):

      • 修改keepalived 配置文件:

        • 脚本文件 nginx_check.sh:
#!/bin/bash

A=ps -C nginx -no-header | wc -l

if [ $A -eq 0 ];then

​	/usr/local/nginx/sbin/nginx #脚本启动的位置sleep 2

​	if [ ps -C nginx -no-header | wc -l -eq 0];then

​		killall keepalived  #杀掉进程

​	fi

fi
  • 启动nginxkeepalived

    • systemctl start keepalived.service
  • 测试

    • 测试浏览器输入虚拟IP
      • ip a
    • 测试停止主服务器中nginxkeepalived
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值