轻量级服务器nginix:如何实现Spring项目的负载均衡

news2025/1/15 8:08:30

这里写目录标题

  • 一 生成war包并给数据库导入数据
    • 1.1生成war包
    • 1.2 向数据库中导入数据
  • 二 启动Tomcat
  • 三 配置负载均衡并启动Nginx
    • 1.cent121这台虚拟机上
    • 2.检测两个tomcat的运行状态
    • 3.配置nginx
    • 4.启动
      • 4.1 nginx报错
      • 4.2 成功启动项目
  • 四 命令总结

一 生成war包并给数据库导入数据

1.1生成war包

点两下这个package,就会在target目录下生成一个war包
在这里插入图片描述
把这个warb包拿出来,放在桌面上备用

1.2 向数据库中导入数据

数据多的话,选择sql文件,直接运行
在这里插入图片描述
在这里插入图片描述

数据导入成功了

二 启动Tomcat

[root@localhost bin]# ./startup.sh
Using CATALINA_BASE:   /usr/tomcat2/apache-tomcat-7.0.68
Using CATALINA_HOME:   /usr/tomcat2/apache-tomcat-7.0.68
Using CATALINA_TMPDIR: /usr/tomcat2/apache-tomcat-7.0.68/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_261/
Using CLASSPATH:       /usr/tomcat2/apache-tomcat-7.0.68/bin/bootstrap.jar:/usr/tomcat2/apache-tomcat-7.0.68/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# cd /usr/tomcat/apache-tomcat-7.0.68/bin
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE:   /usr/tomcat/apache-tomcat-7.0.68
Using CATALINA_HOME:   /usr/tomcat/apache-tomcat-7.0.68
Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-7.0.68/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_261/
Using CLASSPATH:       /usr/tomcat/apache-tomcat-7.0.68/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-7.0.68/bin/tomcat-juli.jar
Tomcat started.

8080和8081都可以
在这里插入图片描述

三 配置负载均衡并启动Nginx

1.cent121这台虚拟机上

虚拟机的位置:

http://192.168.80.121:8081/lg_visualization/view/index.html

nginx的位置 /usr/local/nginx/conf

两台虚拟机所在的位置:
tomcat

/usr/tomcat/apache-tomcat-7.0.68

Tomcat2

/usr/tomcat2/apache-tomcat-7.0.68

2.检测两个tomcat的运行状态

运行状态良好
在这里插入图片描述

http://192.168.80.121:8080/lg_visualization/view/index.html

在这里插入图片描述

3.配置nginx

首先在

/usr/local/nginx/conf

修改nginx里的nginx.conf文件

upstream vis{ # 用server定义 HTTP地址 
server 192.168.80.121:8081; 
server 192.168.80.121:8080; } 
server {
 listen 80;
 server_name www.vis.com ; 
location / { 
# 利用 proxy_ pass可以将请求代理到upstream命名的HTTP服务 
 proxy_pass http://vis;
 index login.html ; }
}

到hosts文件中修改
C:\Windows\System32\drivers\etc
在这里插入图片描述

4.启动

4.1 nginx报错

nginx启动报错:nginx: [error] open() “/var/run/nginx/nginx.pid“ failed (2: No such file or directory) 的解决

events下面加一句

pid 加路径名

在这里插入图片描述

(1)进入 cd /usr/local/nginx/conf/ 目录,编辑配置文件nginx.conf ;

(2)在配置文件中有个注释的地方: #pid        logs/nginx.pid;

(3)将注释放开,并修改为:pid    /usr/local/nginx/logs/nginx.pid;

(4)在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs

(5)再次启动nginx服务:cd /usr/local/nginx/sbin/ 问题解决

4.2 成功启动项目

四 命令总结

history
  287  cd /usr/local/nginx/conf
  288  ll
  289  vim niginx.cnf
  290  vim nginx.cnf
  291  cd /usr/local/nginx/conf
  292  cd ../
  293  ll
  294  cd sbin
  295  ll
  296  nginx  -s reload
  297  ./nginx  -s reload
  298  ./nginx
  299  ./nginx -s reload
  300  pwd
  301  cd /usr/tomcat2/apache-tomcat-7.0.68/bin
  302  ./shutdown.sh
  303  cd /usr/tomcat/apache-tomcat-7.0.68/bin
  304  ./shutdown.sh
  305  ./nginx
  306  cd /usr/local/nginx/conf
  307  cd ../
  308  ll
  309  cd sbin
  310  ll
  311  ./nginx
  312  ./nginx –c /usr/local/nginx/conf/nginx.conf
  313  mkdir /var/run/nginx
  314  ./nginx –c /usr/local/nginx/conf/nginx.conf
  315  ./nginx -c /usr/local/nginx/conf/nginx.conf
  316  ./nginx
  317  ./nginx -s reload
  318  cd /usr/tomcat2/apache-tomcat-7.0.68/bin
  319  ./startup.sh
  320  cd /usr/tomcat/apache-tomcat-7.0.68/bin
  321  ./startup.sh
  322  ./nginx -s reload
  323  cd /usr/local/nginx/conf
  324  cd ../
  325  ./nginx -s reload
  326  cd sbin
  327  ./nginx -s reload
  328  cd /usr/tomcat/apache-tomcat-7.0.68/bin
  329  ./shutup.sh
  330  ./shutdown.sh
  331  cd /usr/tomcat2/apache-tomcat-7.0.68/bin
  332  ./shutdown.sh
  333  cd /usr/tomcat2/apache-tomcat-7.0.68/bin
  334  .startup.sh
  335  ./startup.sh
  336  ./nginx -s reload
  337  cd /usr/local/nginx/conf
  338  cd ../
  339  cd sbin
  340  ./nginx -s reload
  341  ./nginx
  342  cd /usr/local/nginx/conf
  343  cd sbin
  344  cd ../
  345  ll
  346  cd sbin
  347  ./nginx
  348  cd /usr/local/nginx
  349  ./nginx
  350  cd sbin
  351  ./nginx
  352  cd sbin
  353  ./nginx
  354  find / -name ngnix.pid
  355  yum install find
  356  find / -name ngnix.pid
  357  ./nginx
  358  cd /
  359  mkdir /var/run/nginx/
  360  mkdir /usr/local/nginx/logs
  361  cd /usr/local/nginx/sbin/ 
  362  ./nginx
  363  history

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/468012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker和k8s基础介绍

一 Docker介绍 1.1 docker是什么 Docker 是一个开源项目, 诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0协议, 项目代码在…

SQL——索引

💡 索引 在关系型数据库中,索引是一种单独的、物理上的对数据库表中的一列或多列的值进行排序的一种存储结构,他是某个表中的一列或着若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单(类似于图书目录&#x…

RF技术设计的机械数码一体化防盗锁

机械数码一体化防盗锁在传统锁具的基础上增加了一个受控的弹子,只能通过设置过的合法钥匙开启,并且增加了防盗报警功能。本文介绍了基于PIC单片机、RF技术和无线数据传输技术的机械数码一体化防盗锁的设计。 引言 机械锁和数码锁是我们日常生活中最常见的…

CDGA|数据监管越来越严,数据治理发展何去何从?

尽管数据监管越来越严格,但仍然存在许多机会。事实上,数据监管的加强可能会促进金融科技行业更好地运用数据,激发金融科技行业更多的创新和合作,创造更多的价值和机会。 推动金融机构重视数据安全和隐私保护 促使他们采取更严格的安全措施&a…

Ueditor 富文本编辑器 插入 m3u8 和 mp4 视频(PHP)

当前环境:PHP、Ueditor的版本是1.4.3 新的需求是,需要在Ueditor 富文本编辑器中,插入视频播放,并且视频格式有MP4,也有M3U8。 百度编辑器默认的是embed,需要修改下配置。 ueditor.all.js和 ueditor.confi…

C++vector的动态扩容,为何是1.5倍或者是2倍

1. vector如何进行扩容 当插入元素时,如果size capacity,触发扩容机制。 拷贝元素释放旧空间 2. 如何避免扩容导致效率低 在插入前,预估好vector的容量,通常使用reserve。如果没有reserve,边插边扩容,…

ROS学习7:ROS机器人导航仿真

【Autolabor初级教程】ROS机器人入门 1. 概述 在 ROS 中机器人导航 (Navigation) 由多个功能包组合实现,ROS 中又称之为导航功能包集,关于导航模块,官方介绍如下 一个二维导航堆栈,它接收来自里程计、传感器流和目标姿态的信息&a…

汽车智能化「出海」红利

在高阶智能座舱中,车载导航产品作为与用户体验息息相关的模块之一,同样也进入了升级迭代周期。 基于高精度地图渲染、高精度定位算法、AR等技术的车道级导航、AR导航等产品快速上车,但同时随着人机交互多模发展以及3D沉浸式用户体验需求趋势下…

DataX-在Windows上实现postgresql同步数据到mysql

场景 DataX-阿里开源离线同步工具在Windows上实现Sqlserver到Mysql全量同步和增量同步: DataX-阿里开源离线同步工具在Windows上实现Sqlserver到Mysql全量同步和增量同步_霸道流氓气质的博客-CSDN博客 在上面实现sqlserver到mysql的数据同步之后,如果要实现postg…

FPGA/Verilog HDL/AC620零基础入门学习——8*8同步FIFO实验

实验要求 该项目主要实现一个深度为8、位宽为8bit的同步FIFO存储单元。模块功能应包括读控制、写控制、同时读写控制、FIFO满状态、FIFO空状态等逻辑部分。 该项目由一个功能模块和一个testbench组成。其中功能模块的端口信号如下表所示。 提示: (1&a…

Sqoop 从入门到精通

Sqoop Sqoop 架构解析 概述 Sqoop是Hadoop和关系数据库服务器之间传送数据的一种工具。它是用来从关系数据库如:MySQL,Oracle到Hadoop的HDFS,并从Hadoop的文件系统导出数据到关系数据库。 传统的应用管理系统,也就是与关系型数…

【微服务笔记24】微服务组件之Sleuth + Zipkin实现服务调用链路追踪功能

这篇文章,主要介绍微服务组件之Sleuth Zipkin实现服务调用链路追踪功能。 目录 一、Sleuth链路追踪 1.1、什么是Sleuth 1.2、Sleuth专业术语 (1)Span (2)Trace (3)工作原理 1.3、Sleuth…

月薪15K必会技术,如何从0到1学习性能测试,5个操作安排的明明白白

目录 【开幕】武林秘籍惊现江湖 【第一幕】该不该预测一个初始值? 【第二幕】从单线程开始 【第三幕】用命令行形式跑性能测试,然后观察机器性能。 【第四幕】控制吞吐!控制吞吐!控制吞吐! 【第五幕】武林秘籍重…

10 dubbo源码学习_线程池

1. 线程模型&线程池介绍1.1 线程池1.2 线程模型 2. 线程池源码分析2.1 FixedThreadPool2.2 CachedThreadPool2.3 LimitedThreadPool 3. 线程模型源码3.1 AllDispatcher3.2 DirectDispatcher3.3 MessageOnlyDispatcher3.4 ExecutionDispatcher3.5 ConnectionOrderedDispatch…

Visual Studio C# WinForm开发入门(6):TreeView 控件使用

TreeView控件用树显示节点层次。 例如:顶级目录是根(C:),C盘下的每个子目录都是子节点,而每个子目录又都有自己的子节点 TreeView属性和方法: 属性说明CheckBoxes表示节点旁边是否出现复选框ImageList指定一个包含节点图标的Imag…

Spring Cloud Gateway 服务网关的部署与使用详细介绍

为什么需要服务网关 传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需要调用的微服务数量很多时,它需要…

【音视频第20天】wireshark+tcpdump

tcpdump抓 wireshark分析 目录 tcpdumpwireshark tcpdump tcpdump参数详解 网上一搜一大堆。最全的不是用tcpdump -h而是man tcpdump来查询手册。 tcpdump -i eth0 -p udp -xx -Xs 0 -w /root/test2.cap -i 针对eth0网卡的,ifconfig是查看有几个网卡 -i eth0 表示…

海睿思分享 | 终于有人把指标体系和标签体系说清楚了

当前,随着企业数字化转型如火如荼地开展,在企业经营管理数字化的数据建设过程中,经常会遇到指标和标签的使用场景。 指标体系到底是什么?标签体系又是什么?这些疑问导致在数据分析过程中效率低下、科学性不高&#xf…

回首来路多感概,最是奋斗动人心。

我们必需要在不同的时代有不同的领悟,才能充满生机地去迎接生命中每个新的开始。 文章目录 前言 初心 成长 收获 憧憬 出发 前言 今天是我成为csdn创作者一周年纪念日,我非常开心能够和大家分享我的写作之旅。在这一年里,我经历了许多挑…

ChatGPT实现数据集模拟生成,ChatGPT实现密码生成

数据集模拟生成 之前章节我们已经演示过ChatGPT 如何根据 prompt 编写文章或续写文章,文本生成的作用不仅仅在语文方面有用,本节我们演示另一种场景,利用 ChatGPT 来生成数据。看似作用差不多,其实这是目前开源社区非常常用的大语…