Nginx--动静分离--高可用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


6Nginx配置实例-动静分离

6.1 理解

就是把动态请求和静态请求分开,不能简单理解为把动态页面与静态页面分开;使用nginx处理静态页面,使用tomcat处理动态页面

6.2 准备工作

1在linux 系统中准备静态资源 用于进行访问

2在根目录新建/data/image/01.jpg

3在根目录新建/data/www/a.html

6.3修改配置文件

修改 server_name; loacation

在这里插入图片描述

在这里插入图片描述

6.4 最终测试

浏览器输入: 192.168.12.108/image/01.jpg
浏览器输入: 192.168.12.108/www/a.html

7Nginx–配置实例–高可用

7.1理解

1 nginx负责转发请求到不同的tomcat中,一旦nginx宕机 就不能转发请求了,所以配置成高可用效果;

2 需要用到软件 keepalived 它用来检测 主nginx是否活着 如果主nignx宕机了自动切换到从nginx;

3 其中 主,从nginx 对外暴露的是一个虚拟ip,外面是访问虚拟ip来访问 目标服务器的;

4 keepalive 起到路由作用, 主nginx绑定虚拟ip ,当检测到主nignx挂了,keepalive再将虚拟ip绑定的备nginx

7.2准备工作

1需要两台nginx服务器
192.168.12.1108 192.168.12.184
2需要安装 keepalived
3需要虚拟ip

7.2.1 安装keepalivd

https://developer.aliyun.com/article/520844

使用yum 安装
yum install keepalived

7.2.2启动keepalived命令

systemctl start keepalived.service

7.3高可用配置

1 修改 /etc/keepalived/keepalived.conf 配置文件

2 添加检测 nginx 宕机的脚本 /usr/local/src/nginx_check.sh

在 /etc/keepalived/ 会有 keepalived.conf 如果没有自己手动创建
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
}
vrrp_script chk_http_port {
	script "/usr/local/src/nginx_check.sh"
	interval 2 #(检测脚本执行的间隔)
	weight 2
}
vrrp_instance VI_1 {
	state MASTER # 备份服务器上将 MASTER 改为 BACKUP 
	interface enp0s31f6 //网卡
	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 // VRRP H 虚拟地址
	}
}

"""





(2)在/usr/local/src 添加检测脚本 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
"""

主从主要修改的点如下:

在这里插入图片描述

3 启动 两台nginx和keepalived

#启动nginx
./nignx

#启动keepalived
systemctl start keepalived.service
#

4 测试

1 浏览器访问虚拟地址 192.168.12.50 访问nignx

2 杀掉主服务器的nignx keepalived 再次访问 192.168.12.50 看看结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Docker中实现Nginx动静分离,可以通过以下步骤进行操作: 1. 首先,使用Docker命令运行一个Nginx容器,并指定容器的名称为nginx。同时,使用-p参数将主机的80端口映射到容器的80端口上,以便通过主机访问Nginx服务。命令如下: ``` docker run -d --name nginx -p 80:80 nginx ``` 2. 然后,创建一个用于存放静态资源的文件夹,例如/usr/local/nginx/html。将静态资源文件放在该文件夹中。 3. 在容器内部,修改Nginx的配置文件。可以通过使用docker cp命令将主机上的nginx.conf文件复制到容器内的/etc/nginx/nginx.conf路径下,命令如下: ``` docker cp nginx.conf nginx:/etc/nginx/nginx.conf ``` 4. 接下来,创建一个用于存放动态请求的文件夹,例如/usr/local/nginx/conf/conf.d/。在该文件夹下,创建一个.conf后缀的配置文件,配置Nginx的动态请求代理规则。可以根据实际需求进行配置。 5. 最后,重新启动Nginx容器,使配置文件生效。可以使用docker restart命令,命令如下: ``` docker restart nginx ``` 这样,就可以在Docker中实现Nginx动静分离。静态资源可以通过访问主机的80端口进行访问,而动态请求则可以通过配置的代理规则进行转发。请注意,以上步骤仅提供一个基本的示例,具体的配置和调整可以根据实际需求进行修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Nginx如何实现动静分离?看这篇Docker的详细实现教程](https://blog.csdn.net/finally_vince/article/details/127423582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Docker安装部署nginx,Tomcat。并通过Nginx实现反向代理,负载均衡,动静分离高可用性。](https://blog.csdn.net/Culprit/article/details/123952147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值