首页 > 系统相关 ># 高可用的并发解决方案nginx+keepalived(三)

# 高可用的并发解决方案nginx+keepalived(三)

时间:2024-09-24 23:22:26浏览次数:10  
标签:rw 并发 -- keepalived nginx --. root png

高可用的并发解决方案nginx+keepalived(三)

一、Nginx搭建图片服务器

针对任何站点,几乎都要访问图片,而一个网页里面几乎有好些张图片,这时候会占据大量tomcat连接,造成大量并发,我们可以通过Nginx配置直接访问硬盘里的图片,绕开tomcat。

1、在 CentOS7 服务器上,创建 /usr/local/images 图片目录,并上传一些图片。

[root@localhost tomcat]# mkdir /usr/local/images

[root@localhost tomcat]# ll /usr/local/images
总用量 3252
-rw-r--r--. 1 root root  90981 4月  10 18:34 linux-1.png
-rw-r--r--. 1 root root  74607 4月  10 18:36 linux-2.png
-rw-r--r--. 1 root root 200272 4月  10 18:37 linux-3.png
-rw-r--r--. 1 root root 129088 4月  10 18:37 linux-4.png
-rw-r--r--. 1 root root 349338 4月  10 18:38 linux-5.png
-rw-r--r--. 1 root root 235418 4月  10 18:39 linux-6.png
-rw-r--r--. 1 root root 588721 4月  10 18:39 linux-7.png
-rw-r--r--. 1 root root 720943 8月   9 10:38 tomcat-1.png
-rw-r--r--. 1 root root 137273 8月   9 10:39 tomcat-2.png
-rw-r--r--. 1 root root 759789 8月   9 11:06 tomcat-3.png
-rw-r--r--. 1 root root  19229 8月   9 11:07 tomcat-4.png

2、打开并编辑 nginx 配置文件vim /usr/local/nginx/nginx/conf/nginx.conf


# 切换目录
[root@localhost nginx]# cd /usr/local/nginx

# 打开 nginx 配置文件
vim /usr/local/nginx/nginx/conf/nginx.conf

# 配置内容如下:

#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    # Nginx处理HTTP负载均衡
    upstream clustertomcat {
        server 192.168.43.216:8081 weight=2;
        server 192.168.43.216:8082 weight=1;
        server 192.168.43.216:8083 weight=1;
    }

    server {
        # nginx 默认监听端口80
        listen       80;
        server_name  localhost;


        location /images/ {
            root /usr/local;
        }

        location / {
            # 代理路径
            proxy_pass http://clustertomcat;
        }

    }
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
#  ESC + :wq  保存退出

# 切换目录
cd  /usr/local/nginx/

# 重新载入 nginx
[root@localhost nginx]# ./nginx/sbin/nginx -s reload

# 或者先停止 nginx 再重新启动 nginx

[root@localhost nginx]# ./nginx/sbin/nginx -s quit

[root@localhost nginx]# ./nginx/sbin/nginx -c /usr/local/nginx/nginx/conf/nginx.conf

3、访问测试 nginx 图片服务器,浏览器地址栏输入(其中:192.168.43.216 为你的虚拟机 IP 地址):

http://192.168.43.216/images/linux-1.png

linux-1.png

二、Keepalived+Nginx主备分析

1、keepalived + nginx 集群解决单点故障

再牛逼的软件我们也不能保证它一定不挂,为了防止Nginx挂了导致整个服务无法使用的灾难发生,我们这里可以考虑使用Keepalived+Nginx集群实现高可用。

2、Keepalived+Nginx主备分析简略图

Keepalived+Nginx主备分析简略图.png

三、Nginx+keepalived高可用-Nginx安装

1、Nginx+keepalived高可用方案介绍

VIPIP主机名主从
192.168.43.211192.168.43.216keep216master
192.168.43.205keep205backup

2、VirtualBox-6.0.6 安装 第二个 CentOS7–2 虚拟机。

https://dzs168.blog.csdn.net/article/details/141631390

3、在 CentOS7–2 虚拟机上,安装 Ngnix

https://www.toutiao.com/article/7410289588238959145/

4、在 CentOS7–2 虚拟机上,启动 nginx 访问测试。

1)关闭防火墙

[root@localhost nginx]# systemctl stop firewalld

2)启动 nginx

# 切换目录 
cd  /usr/local/nginx
# 启动 nginx 
[root@localhost nginx]# ./nginx/sbin/nginx

3)浏览器地址栏输入:http://192.168.43.205/ 进行访问测试。

nginx-login.png

上一节关联链接请点击:
# 高可用的并发解决方案nginx+keepalived(二)

标签:rw,并发,--,keepalived,nginx,--.,root,png
From: https://blog.csdn.net/qfyh_djh/article/details/142388937

相关文章

  • nginx - - - Windows 使用手册
    1.安装nginx官网:https://nginx.org/nginx下载页面:https://nginx.org/en/download.html下载稳定版压缩包解压,就安装完成了。下载地址:https://nginx.org/download/nginx-1.26.2.zip解压:2.修改配置文件修改nginx.conf文件。3.运行打开nginx.exe安装目录,在资源管理器......
  • 阿里云ecs使用nginx部署mqtt服务的tcp转发
    一、什么是MQTT?MQTT(MessageQueuingTelemetryTransport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的高效通信。二、为什么MQTT是适用于物联网的最......
  • 并发处理的利器:深入探讨锁分离设计+6大分离场景(高并发篇)
    锁分离设计的本质在于将对共享资源的访问操作根据其类型或性质区分开来,并为每种操作提供独立的锁。这种设计背景通常源于对高并发系统的需求,其中多个线程或进程需要频繁地对共享资源进行读写或其他操作。在传统的锁机制中,所有操作都可能使用同一把锁,这在高并发环境下会导致严重的......
  • HAproxy,nginx实现负载均衡
    环境准备:192.168.88.25 (client)192.168.88.26  (HAproxy)192.168.88.27   (web1)192.168.88.28    (web2)192.168.88.29   (php1)192.168.88.30    (php2)关闭firewalld,selinux。配置yum源,扩展源epel-release实验1一、web1,web21、下载httpd......
  • 【linux中nginx怎么连接自己的前端项目】
    你的前端项目目录(我们用antdesign举例):此时我们没有dist文件(就是编译后的文件)所以需要编译之后你可以拿到dist文件夹了此时我们打开nginx.conf文件保存后启动nginx,你就可以看到你自己前端的页面了打开方法:......
  • 【Java】并发编程的艺术:悲观锁、乐观锁与死锁管理
    目录一、乐观锁和悲观锁二、ReadWriteLock三、StampedLock四、Semaphore五、死锁的条件六、如何发现死锁七、如何避免死锁一、乐观锁和悲观锁        悲观锁(PessimisticLocking)具有强烈的独占和排他特性。它指的是对数据被外界修改持保守态度。因此,在整......
  • 并发编程工具集——Fork/Join-上(三十六)
    简述前面提到的线程池、Future、CompletableFuture和CompletionService,这些工具类都是在帮助我们站在任务的视角来解决并发问题,而不是让我们纠缠在线程之间如何协作的细节上(比如线程之间如何实现等待、通知等)。精髓:对于简单的并行任务,你可以通过“线程池+Future”的方案......
  • 一文夯实并发编程的理论基础
    JMM内存模型定义java内存模型(即javaMemoryModel,简称JMM),不存在的东西,是一个概念,约定主要分成两部分来看,一部分叫做主内存,另一部分叫做工作内存。java当中的共享变量;都放在主内存当中,如类的成员变量(实例变量),还有静态的成员变量(类变量),都是存储在主内存中的。每一个线程都可以......
  • 一文夯实并发编程的理论基础
    JMM内存模型定义java内存模型(即javaMemoryModel,简称JMM),不存在的东西,是一个概念,约定主要分成两部分来看,一部分叫做主内存,另一部分叫做工作内存。java当中的共享变量;都放在主内存当中,如类的成员变量(实例变量),还有静态的成员变量(类变量),都是存储在主内存中的。每一个线程都可......
  • 最全nginx安装教程,小白必看。
    1、简介【Nginx是个好东西,没有它的话,这前端开发完了后(非vue开发),还得找一个web容器大概率是tomcat。咱就需要配置tomcat,tomcat的配置是比较麻烦的,nginx的配置就简单了好多。】Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Ngi......