首页 > 系统相关 >nginx使用

nginx使用

时间:2022-10-01 10:36:01浏览次数:2610  
标签:请求 ip 使用 keepalived nginx Linux 服务器

  • nginx配置文件:(使用yum安装,所以位置在/etc/nginx/nginx.conf )
包含三部分内容
(1)全局块:配置服务器整体运行的配置指令
比如 worker_processes 1;处理并发数的配置
(2)events 块:影响 Nginx 服务器与用户的网络连接
比如 worker_connections 1024; 支持的最大连接数为 1024
(3)http 块
还包含两部分:http 全局块、server 块
  • nginx 分配服务器策略
轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除
weight weight 代表权重默认为 1,权重越高被分配的客户端越多

nginx使用_服务器

ip_hash 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器;也即是第一次使用该请求访问到8080端口的服务器,以后每次使用该请求都会访问到8080服务器

nginx使用_Nginx_02

fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配;也即是哪个tomcat启动快就先访问哪个

nginx使用_服务器_03

  • 动静分离:nginx将动态请求转发到tomcat服务器,将静态请求转发到对应的静态资源
动静分离的实现:方式一将静态文件放在单独的域名;方式二将动态和静态文件混合一起发布
通过 location 指定不同的后缀名实现不同的请求转发;通过 expires 参数设置,可以使浏 览器缓存过期时间,减少与服务器之前的请求和流量

访问静态资源实现:
在Linux根目录下新建文件夹和html:/data/www/a.html
在Linux根目录下新建文件夹和图片:/data/image/01.jpg
修改nginx配置文件:开放的路径、转发方式

nginx使用_Nginx_04

启动nginx测试:window浏览器输入:192.168.17.129/image/01.jpg  将会访问到图片
输入:192.168.17.129/image/ 会显示图片的目录
输入:192.168.17.129/www/a.html 会显示html页面
  • nginx高可用
我们发送的请求通过nginx转发到不同的tomcat服务器,如果nginx服务器突然故障,我们切换到另一台linux的nginx服务器,需搭建nginx集群
同时需在Linux服务器上安装leepalived进行监听nginx是否正常运行,两台nginx服务器对外暴露一个虚拟ip

nginx使用_linux_05

  • 具体步骤
# 需两台Linux服务器,都安装了nginx和keepalived

# 安装keepalived:
yum install keepalived -y
/etc/keepalived/keepalived.conf # 配置文件
systemctl start keepalived.service # 启动
ps -ef | grep keepalived # 查看进程

# 第一台Linux中的nginx作为主服务器,修改第一台Linux中的keepalived.conf

global_defs { # 全局定义
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.17.129
smtp_connect_timeout 30
router_id LVS_DEVEL # 当前Linux主机的名称,vi /etc/hosts添加一行127.0.0.1 LVS_DEVEL
}
vrrp_script chk_http_port { # 检测脚本
script "/usr/local/src/nginx_check.sh" # 脚本的路径
interval 2 # 检测脚本执行的间隔
weight 2 # 权重
}
vrrp_instance VI_1 { # 虚拟IP的配置
state MASTER # 备份服务器上将 MASTER 改为 BACKUP
interface ens33 # 当前IP使用的网卡名称
virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.17.50 # 两台nginx绑定的虚拟ip
}
}

# 在/usr/local/src 添加检测脚本nginx_check.sh,用于检测nginx是否正常,如下:
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx # nginx启动路径
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi

# 在另一台Linux中的nginx作为备用服务器,在这台Linux中的keepalived.conf中做同样的配置,虚拟IP位置稍作修改;nginx_check.sh一样

# 测试:启动两台服务器的nginx和keepalived,浏览器中输入虚拟ip访问到的主服务nginx,命令ip a可查看到虚拟ip绑定的是主服务器中的ip,停用主服务器的nginx和keepalived,
# 浏览器中输入虚拟ip访问的备用服务器的nginx,命令ip a可查看到虚拟ip绑定的是备用服务器中的ip



标签:请求,ip,使用,keepalived,nginx,Linux,服务器
From: https://blog.51cto.com/chniny/5728138

相关文章