当前位置: 首页 > news >正文

女网友叫我一起做优惠券网站网站关键词怎样优化

女网友叫我一起做优惠券网站,网站关键词怎样优化,山东住房与城乡建设部网站,什么网站能免费tomcat高可用和nginx高可用 小白教程,一看就会,一做就成。 1.什么是高可用? 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务…

tomcat高可用和nginx高可用

 小白教程,一看就会,一做就成。

1.什么是高可用?

高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障。

2.解决的问题?

在生产环境上很多时候是以Nginx做反向代理对外提供服务,但是一天Nginx难免遇见故障,如:服务器宕机。当Nginx宕机那么所有对外提供的接口都将导致无法访问。

虽然我们无法保证服务器百分之百可用,但是也得想办法避免这种悲剧,今天我们使用keepalived来实现Nginx的高可用。

3.双机热备方案

这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实就是指一台服务器在提供服务,另一台为某服务的备用状态,当一台服务器不可用另外一台就会顶替上去。

4.keepalived是什么?

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件

5.故障转移机制

Keepalived高可用服务之间的故障切换转移,是通过VRRP 来实现的。在 Keepalived服务正常工作时,主 Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的 IP资源及服务。而当主 Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。

6.部署环境

以下都是centos7.8的系统

143.1.26.211(Tomcat服务,3个Tomcat应用,7、8、9版本,大于等于10版本后,jdk就要用11的了,8的就不行了)

143.1.26.212(nginx)

143.1.26.213(nginx)

143.1.26.214(是keepalived的虚拟ip,不是真实的服务器)

7.达到什么目的

实现Tomcat服务的高可用(一个服务挂了,跳转到另外的服务,用的是nginx做的代理)与nginx的高可用(这个nginx挂了,自动转移到另外的nginx)

8.部署tomcat

8-1.下载Tomcat包

https://tomcat.apache.org/

我这里下载了7,8,9三个版本

8-2.部署Tomcat(需要先安装jdk,有写部署jdk的文章) 

我是在服务器上创建了3个目录,存放3个Tomcat

/data/tomcat7,/data/tomcat8,/data/tomcat9

把对应版本的包放到对应目录里,然后解压(以7版本为例)

cd /data/tomcat7/
tar -zxvf apache-tomcat-7.0.90.tar.gz

修改端口文件(以7版本为例)

vim /data/tomcat7/apache-tomcat-7.0.90/conf/server.xml

修改地方如下(修改后的端口,7的是8001,8081,7001。8的是8002,8082,7002。9的是8003,8083,7003)

启动(以7版本为例)

bash /data/tomcat7/apache-tomcat-7.0.90/bin/startup.sh

 关闭(以7版本为例)

bash /data/tomcat7/apache-tomcat-7.0.90/bin/shutdown.sh

查看端口

netstat -ptln

9.部署nginx(nginx-1.16.1为例)

9-1.下载nginx-1.16.1包并上传到服务器,需要包的滴滴我,可以私发

#先安装编译安装的环境与killall工具
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel psmisc
#我创建了/data,放nginx包
mkdir /data
#解压包
tar -zxvf nginx-1.16.1.tar.gz
#配置环境
cd nginx-1.16.1/
./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_ssl_module
#编译安装
make && make install
#添加启动,关闭,重载nginx的脚本
vim /usr/lib/systemd/system/nginx.service
#内容如下:
[Unit]
Description=nginx
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
#到此结束:
#添加权限
chmod +x /usr/lib/systemd/system/nginx.service
systemctl start nginx.service #启动
systemctl stop nginx.service #关闭
systemctl restart nginx.service #重启(也可以当启动用)
systemctl reload nginx.service #重载配置
/usr/local/nginx/sbin/nginx -t #查看配置文件是否有吴

9-2.修改配置文件

vim /usr/local/nginx/conf/nginx.conf
#内容如下upstream tomcat{server 143.1.26.211:8081 weight=1;server 143.1.26.211:8082 weight=2;server 143.1.26.211:8083 weight=3;
}#weight代表对应的服务的权重,权重越高(值越大),服务被访问的优先级越高

proxy_pass http://tomcat; 
#这里的tomcat,是上图upstream tomcat里的,什么都行,只要两处对应就好,下图的root   html;和index  index.html index.htm;是我注释掉了

 

9-3.启动 

systemctl restart nginx.service

9-4.扩展小知识

如果应用不只是ip和端口,后面加上后缀才能访问到咱的项目,例如加了/defaultroot/login2.jsp

那upstream tomcat这里配置的还是不变的,proxy_pass 这里变了

proxy_pass http://tomcat/defaultroot/login2.jsp;

9-5.访问 

http://nginx的ip  #这里我没加端口,因为我的nginx端口是默认的80

9-6.另一台nginx服务器也是相同的安装部署与配置,这里忽略了

10.做nginx的高可用,(两台都安装keepalived,212是主,213是从)

10-1.安装keepalived并配置(keepalived的配置只有priority不一样)

yum -y install keepalived

10-2.添加检测脚本,(两台nginx都一样)

#创建一个文件夹
mkdir /usr/local/nginx/src
#添加nginx_check.sh脚本
vim /usr/local/nginx/src/nginx_check.sh
#!/bin/bash
#检测nginx是否启动了
Y=`ps -C nginx --no-header |wc -l`        
if [ $Y -eq 0 ];then    #如果nginx没有启动就启动nginx                        systemctl start nginx                #重启nginxif [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    #nginx重启失败,则停掉keepalived服务,进行VIP转移killall keepalived                    fi
fi#给脚本加权限
chmod +x /usr/local/nginx/src/nginx_check.sh

10-3.修改143.1.26.212的keepalived配置文件 

#先备份配置文件
cd /etc/keepalived/
cp -a keepalived.conf keepalived.conf_bak
vim /etc/keepalived/keepalived.conf! Configuration File for keepalived#检测脚本
vrrp_script chk_http_port {script "/usr/local/nginx/src/nginx_check.sh" #心跳执行的脚本,检测nginx是否启动interval 2                          #(检测脚本执行的间隔,单位是秒)weight 2                            #权重
}
#vrrp 实例定义部分
vrrp_instance VI_1 {state MASTER            # 指定keepalived的角色,MASTER为主,BACKUP为备interface ens192         # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ip add查看你具体的网卡virtual_router_id 77    # 虚拟路由编号,主从要一致priority 100            # 优先级,数值越大,获取处理请求的优先级越高advert_int 1            # 检查间隔,默认为1s(vrrp组播周期秒数)#授权访问authentication {auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信auth_pass yegoo@123}track_script {chk_http_port            #(调用检测脚本)}virtual_ipaddress {143.1.26.214            # 定义虚拟ip(VIP),可多设,每行一个}
}

virtual_ipaddress 里面可以配置vip,在线上通过vip来访问服务。

interface需要根据服务器网卡进行设置通常查看方式ip add

authentication配置授权访问后备机也需要相同配置

10-4.修改143.1.26.213的keepalived配置文件

#先备份配置文件
cd /etc/keepalived/
cp -a keepalived.conf keepalived.conf_bak
vim /etc/keepalived/keepalived.conf! Configuration File for keepalived#检测脚本
vrrp_script chk_http_port {script "/usr/local/nginx/src/nginx_check.sh" #心跳执行的脚本,检测nginx是否启动interval 2                          #(检测脚本执行的间隔)weight 2                            #权重
}
#vrrp 实例定义部分
vrrp_instance VI_1 {state BACKUP                        # 指定keepalived的角色,MASTER为主,BACKUP为备interface ens192                      # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ip add查看你具体的网卡virtual_router_id 77                # 虚拟路由编号,主从要一致priority 99                         # 优先级,数值越大,获取处理请求的优先级越高advert_int 1                        # 检查间隔,默认为1s(vrrp组播周期秒数)#授权访问authentication {auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信auth_pass yegoo@123}track_script {chk_http_port                   #(调用检测脚本)}virtual_ipaddress {143.1.26.214                   # 定义虚拟ip(VIP),可多设,每行一个}
}

10-5.做了实验,把26.212整挂,vip会自动跳到26.213

11.完成

http://www.mmbaike.com/news/43249.html

相关文章:

  • 做一个网站需要投入多少钱怎样宣传自己的产品
  • 建筑工程东莞网站建设seo推广怎么收费
  • 中企动力做网站的价格北京软件开发公司
  • 外贸网站建设注意什么怎样建立一个网站
  • 手机网站做安卓客户端windows优化大师使用方法
  • 免费建立公司网站seo营销培训
  • 合肥企业网站制作西安网站外包
  • 平台网站怎么建设南宁网络推广有限公司
  • 推广网站平台有哪些嘉兴网站建设
  • 聊城网站那家做的好媒体:多地新增感染趋势回落
  • 百度联盟 网站备案信息搜索引擎营销的步骤
  • 小礼品网络定制关键词排名优化网站
  • wordpress自定义文章刷关键词排名seo软件软件
  • 福建网站制作网上推广方式
  • 广告设计需要学什么软件网站标题seo外包优化
  • asp动态网站开发论文青岛网络推广公司排名
  • 用ps做网站广告图职业技能培训平台
  • 电商网站建设教案网络营销方案怎么写
  • 自已做个网站怎么做网络营销战略
  • 网店运营推广平台seo宣传
  • 许昌 网站建设百度指数三个功能模块
  • 南昌网站建设利润桂林网站设计制作
  • 做网站设计参考文献seo网站推广建站服务商
  • 手机网站建设浩森宇特品牌推广方案案例
  • 广东网站建设包括什么优化的概念
  • 做好网站改版工作无锡网站建设优化公司
  • 湖南省专业建设公司网站sem优化托管
  • 建设娱乐网站的要求爱站网关键词挖掘工具
  • 帮朋友免费做网站深圳网络推广平台
  • 做海报的网站小白qqseo推广代运营