一、集群项目是什么?

搭建项目之前首先要明白什么样的项目才叫集群项目,那么什么叫集群呢?说的简单一点,集群就是很多对象集合在一起,集群项目就是很多一摸一样的项目放在一起运行嘛。

二、集群项目有什么用?

琦三叔搭建的项目比较简单用到的技术主要为如下几种:

nginx、tomcat、redis、web项目

nginx:一个很强大的高性能Web和反向代理服务器,说简单点就是将用户发起的url重定向到自己的特定端口项目中,浏览器默认是80端口,通过nginx就可以转到其他端口的项目,如80端口转到88端口,这个nginx也是集群的关键,通过它才能让多个相同的项目同时运行。

tomcat:这个众所周知是一个应用系统容器,只有它开启了才能访问到它里面的项目

redis:缓存服务器,它的功能特别强大,在这里用到的是作为多个项目之间的缓存共享,因为是集群所以可能在某个项目里面的内容无法分享到其他项目中,所以用它来同步缓存

web项目:这个就是要访问的系统项目了。

好了,大致的都介绍完了,那么准备开始搭建系统了

1)、tomcat搭建

集群就是多个tomcat同时运行

第一步:首先从网上下载tomcat,在系统上无法直接运行必须先安装jdk才行(自己百度),先将tomcat复制成多个如下所示:

第二步:修改配置文件,让多个tomcat可以同时运行,因为现在这些tomcat除了名字不一样其他是完全一样的,所用端口也是一摸一样的,所以开启一个后其他的就开启不了了,打开tomcat目录下conf目录下的server.xml文件,修改以下端口:

以此类推,每个tomcat都配置成不一样的端口,查看下配置是否正确,打开tomcat目录下bin目录下的startup.bat,如下就是正常开启一个tomcat:

把其他tomcat也一起开起来,如果有闪退的那么代表配置有问题,需要改。

现在tomcat都能正常启动了,但那么多dos窗口放在桌面分都分不清楚,所以现在要把tomcat服务化,不再通过startup.bat开启。

打开tomcat目录下bin目录下的service.bat找到下面这行

set SERVICE_NAME=Tomcat7

然后将名字替换成改文件夹名字,如下图:

直接全部替换就行,然后将tomcat目录下bin目录下的tomcat7.exe和tomcat7w.exe改名字也改成刚才的名字

接着打开dos界面切换到tomcat的bin目录文件夹中

然后输入service.bat install 即可。

以此方法将所有tomcat全部服务化,查看是否服务化了直接打开服务界面看是否存在这些服务就好了

默认这些tomcat是没有开启的,那么现在要开启tomcat,打开tomcat目录下bin目录下的tomcat7w.exe

如果开启tomcat开启不了,那么打开tomcat目录下logs文件夹中的日志文件,查看报错原因,琦三叔当时的报错原因是内存不足了,开启不了tomcat所以在tomcat7w.exe中修改了下内存优化如下图:

事后如果想把tomcat7服务删掉 直接在dos界面输入以下代码即可:

tomcat搭建完成了,现在开始搭建nginx

先网上下载nginx,然后直接运行nginx.exe即可

在浏览器中输入localhost跳转到nginx的界面代表正常运行了,那么就要开始进行配置,打开nginx目录下的conf目录中的nginx.conf文件,修改成如下配置:

PS:

#upstream表示负载服务器池,定义名字为backend_server的服务器池
upstream backend_server {
server 10.254.244.20:81 weight=1 max_fails=2 fail_timeout=30s;
server 10.254.242.40:81 weight=1 max_fails=2 fail_timeout=30s;
server 10.254.245.19:81 weight=1 max_fails=2 fail_timeout=30s;
server 10.254.243.39:81 weight=1 max_fails=2 fail_timeout=30s;
#设置由 fail_timeout 定义的时间段内连接该主机的失败次数,以此来断定 fail_timeout 定义的时间段内该主机是否可用。默认情况下这个数值设置为 1。零值的话禁用这个数量的尝试。

设置在指定时间内连接到主机的失败次数,超过该次数该主机被认为不可用。

#这里是在30s内尝试2次失败即认为主机不可用!
}

如果仅仅只是进行端口转发而不是进行集群那么修改成这样(只需在原来的server外面添加新的server)

这样是根据不同的网址转发到不同的端口,此例中不需要。

对了上面的配置文件中www.aaa.com;并不是随便乱写的,这个网址必须指到本地,想要让它指到本地那就要做另一个操作,那就是修改hosts文件,在文件最底部添加一个代码

127.0.0.1 www.aaa.com

然后打开dos界面输入 ping www.aaa.com



现在测试一下是否成功了

先开启所有tomcat服务,然后开启nginx,接着在网页上输入www.aaa.com显示如下,则代表成功了


Redis是一个缓存服务器,主要用在linux上,不过有人也做了window上的版本,网上下载windows上的版本,解压完后有以下内容

然后在dos界面中切换到redis目录中,然后执行

Redis-server.exe redis.windows.conf就开启了如下所示,简单吧!注意这个要一直开着,一旦关闭redis服务就关闭了

测试一下,再开启一个dos窗口输入以下命令

它的意思是往redis中填充age,然后再获取填充值,OK了

四、web应用

因为是集群,所以在web系统中需要做缓存的内容统统往redis中存,然后要取的时候也从redis中取出来就可以了,也可以用session同步,因为开发语言太多了,怎么开发一个web应用暂不介绍,只要搭建完上述几个内容基本已经有一个初步的成型了。

原文地址:https://blog.csdn.net/yongshuai185/article/details/89455760

认为作者写的很好,如有冒犯,请联系删除。

如何搭建一个集群项目相关推荐

  1. 利用云服务器搭建hadoop集群

    利用云服务器搭建hadoop集群 测试连接 一. Linux配置 二. 3台服务器免密码登录 1. 三台机器生成公钥与私钥: 2. 拷贝公钥到同一台机器 3. 复制第一台机器的认证到其他机器 4. 通 ...

  2. elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)

    一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...

  3. ES集群规划、集群搭建、集群管理

    一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...

  4. 从零开始搭建Redis 集群 ,三主三从模式

    文章引用 https://www.cnblogs.com/mafly/p/redis_cluster.html Redis 集群简介 Redis 是一个开源的 key-value 存储系统,由于出众的 ...

  5. 一把王者的时间就写完了一个nginx的web集群项目

    构建一个基于nginx的web集群项目 一.什么是负载均衡? 二.为什么需要负载均衡? 1.编译安装nginx 2.解决软件的依赖关系,需要安装的软件包 3.新建luogan用户和组 4.下载ngin ...

  6. spring cloud多模块项目框架搭建-Redis-Cluster集群搭建及系统集成

    第九章 Redis-Cluster集群搭建及系统集成 本系列博客旨在搭建一套能用于实际开发使用的spring cloud多模块微服务项目框架,并不是一个spring cloud的demo而已,提供系统 ...

  7. 搭建K8S-web-MySQL-keepalived 负载均衡集群项目

    搭建K8S-web-MySQL-keepalived 负载均衡集群项目 部署目录 搭建K8S-web-MySQL-keepalived 负载均衡集群项目 总体架构图 安装MySQL 下载MySQL镜像 ...

  8. 【Elasticsearch】从零开始搭建ES8集群并且集成到Springboot,更好的服务电商类等需要全文索引的项目(二)

    从零开始搭建Elasticsearch集群(二) 从零开始搭建Elasticsearch集群(二) 为什么使用IK分词器 安装IK分词器到ES的插件库中 安装kibana可视化平台 1.下载 2.配置 ...

  9. hadoop集群_Ambari搭建hadoop集群

    Ambari搭建hadoop集群 Ambari提供了对Hadoop更加方便快捷的管理功能,主要包含: 通过一步一步的安装向导简化了集群供应. 预先配置好关键的运维指标(metrics),可以直接查看H ...

最新文章

  1. mysql 不同的文件系统_文件系统,数据库管理系统,操作系统之间有什么联系?...
  2. 使用 C#/.NET Core 实现单体设计模式
  3. 算法------------ 最长公共前缀
  4. dtree的使用和扩展
  5. Qt的Oracle数据库QOCI驱动问题
  6. 【GIT 基础篇二】创建版本库与提交
  7. HashMap的put方法讲解
  8. 《01》ECMAScript 6 简介
  9. redis中list类型详解及常用命令
  10. Dubbo管理控制台dubbo-admin搭建
  11. 中小学计算机中级班教学目标,计算机中级考试教学目标
  12. zabbix 自定义监控
  13. interpretable machine learning
  14. 兼容PD和QC快充充电器输入单节锂电池2A充电芯片-2号电路板
  15. 费用分摊分配用法(KSU5/KSV5/KB21N/KB11N)
  16. 编码转换参考范例大全
  17. EasyUI的Vue版本
  18. 提高机器学习模型性能的五个关键方法
  19. 我只是穴居人-克拉克/惠勒定律的汉塞尔曼推论
  20. 动态规划算法思想解决找零钱问题

热门文章

  1. 数字化孪生管理平台运用现状及技术前景
  2. freemarker+Jfreechart生成Word文档(含图片)
  3. Google Play网页显示语言切换方法
  4. QChart之QBarSeries绘制条形图
  5. 罗斯公司理财第11版笔记和课后习题答案
  6. 【MATLAB】输入命令(matlab实用小技巧)
  7. 最小二乘支持向量机(lssvm)回归预测(matlab)
  8. 前途迷茫不知.NET与JAVA那个好
  9. 2013年:各大IT公司待遇【转载】
  10. 人工智能的五大核心技术