如何搭建一个集群项目
一、集群项目是什么?
搭建项目之前首先要明白什么样的项目才叫集群项目,那么什么叫集群呢?说的简单一点,集群就是很多对象集合在一起,集群项目就是很多一摸一样的项目放在一起运行嘛。
二、集群项目有什么用?
琦三叔搭建的项目比较简单用到的技术主要为如下几种:
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应用暂不介绍,只要搭建完上述几个内容基本已经有一个初步的成型了。
原文地址:
认为作者写的很好,如有冒犯,请联系删除。
如何搭建一个集群项目
一、集群项目是什么?
搭建项目之前首先要明白什么样的项目才叫集群项目,那么什么叫集群呢?说的简单一点,集群就是很多对象集合在一起,集群项目就是很多一摸一样的项目放在一起运行嘛。
二、集群项目有什么用?
琦三叔搭建的项目比较简单用到的技术主要为如下几种:
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应用暂不介绍,只要搭建完上述几个内容基本已经有一个初步的成型了。
原文地址:
认为作者写的很好,如有冒犯,请联系删除。