web服务器

web服务器排名: https://news.netcraft.com/

keepalived

1.Keepalived

1.1.介绍

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。 因此,keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。

keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写, VRRP出现的目的就是为了解决静态路由的单点故障问题的,它能保证当个别节点宕机时,整个网络可以不间断地运行。 所以,keepalived一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可以实现系统网络服务的高可用功能。

1.2.学习文档

Keepalived权威指南中文

2.LVS

全称是 Linux Virtual Server

Ipvs : 嵌入到linux的内核

IPVsadm:管理应用程序

2.1.负载均衡器

  1. 硬件
    • F5 BIG-IP
    • Citrix NetScaler
    • A10
  2. 软件
    • 四层:(ip协议层)。例如 LVS:只能操作IP,端口 ,在操作系统内核中。
    • 七层:http,ajp,https,(应用层)。例如 nginx、haproxy、httpd

2.3.四种静态:

  • rr:轮循
  • wrr:
  • dh:
  • sh:

2.4.动态调度方法

  • lc: 最少连接 active*256+inactive 谁的小,挑谁
  • wlc: 加权最少连接 (active*256+inactive)/weight
  • sed: 最短期望延迟 (active+1)*256/weight
  • nq: never queue
  • LBLC: 基于本地的最少连接
  • DH:
  • LBLCR: 基于本地的带复制功能的最少连接

默认方法:wlc

2.5.类型:

  • NAT:地址转换
  • DR: 直接路由
  • TUN:隧道

2.6.学习文档

3.Keepalived配置Nginx高可用

3.1.架构

Keepliaved实现双机主备模式一台机器提供服务,另外一台机器进行冗余.当主服务器宕机后,备服务器抢占虚拟IP.

  1. 抢占模式:主机宕机,从机抢占虚拟ip.当主机恢复后,会按照权重和从机抢占虚拟ip的所属权,权重高者获得虚拟IP的所属权.
  2. 非抢占模式:主机宕机,从机抢占虚拟ip.当主机恢复后不会再去抢占虚拟ip的所属权

3.2.安装

1.Keepalived的安装包可用通过官网进行下载:
https://www.keepalived.org/download.html

2.解压安装包后执行安装命令

./configure  --prefix=/usr/local/keepalived  --sysconf=/etc
make && make install  
  • prefix keepalived的安装位置
  • sysconf keepalived核心配置文件所在的位置,固定位置,改成其他位置keepalived启动不了,/var/log/message为默认日志文件
  • /etc/keepalived/keepalived.conf 为配置文件位置

问题1:configure: error:

!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files.

解决: yum -y install openssl openssl-devel

问题2:*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.

解决: yum -y install libnl libnl-devel

3.3.配置与优化

1.监测Nginx的shell脚本(注意测试一下脚本是否能运行)

#! /bin/bash
#检测nginx是否启动了
A=`ps -C nginx --no-header | wc -l`
if [ $A -eq 0 ];then    #如果nginx没有启动就启动nginx 
    /usr/local/nginx/sbin/nginx    #通过Nginx的启动脚本来重启nginx
    sleep 2
    if [ `ps -C nginx --no-header| wc -l` -eq 0 ];then   #如果nginx重启失败,则下面就会停掉keepalived服务,进行VIP转移
        killall keepalived
    fi
fi

2.主机keepalived.conf文件

global_defs {
    router_id LVS_DEVEL    ## 机器标识 局域网内唯一即可。 LVS_DEVEL这字段在/etc/hosts文件中看;通过它访问到主机
    script_user root
    enable_script_security
}
vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh"   #检测脚本存放的路径
    interval 2   ## 检测脚本执行的间隔,即检测脚本每隔2s会自动执行一次
    weight 2  #权重,如果这个脚本检测为真,服务器权重+2
}
vrrp_instance VI_1 {
    state MASTER    ## 指定keepalived的角色,MASTER为主,BACKUP为备。备份服务器上需将MASTER 改为BACKUP
    interface ens33  ## 通信端口 通过ip addr可以看到,根据自己的机器配置
    virtual_router_id 51 ## vrrp实例id  keepalived集群的实例id必须一致,即主、备机的virtual_router_id必须相同
    priority 200         #优先级,数值越大,获取处理请求的优先级越高。主、备机取不同的优先级,主机值较大,备份机值较小 1-255
    advert_int 1    #心跳间隔,默认为1s。keepalived多机器集群 通过心跳检测当前服务器是否还正常工作,如果发送心跳没反应,备份服务器就会立刻接管;
    preempt
    authentication {     ## 服务器之间通信密码
        auth_type PASS   #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
        auth_pass 1111
    }
    virtual_ipaddress { ## 自定义虚拟IP。自定义的虚拟ip得根据真实ip设置。比如真实ip是192.168.91.138,那么虚拟ip可以设置为192.168.91.139~255,前面三个数得一致
        192.168.137.50 ## 定义虚拟ip(VIP),可多设,每行一个
    }
    track_script{
            chk_nginx
        }
}

3.从机keepalived.conf文件

global_defs {
    router_id LVS_DEVEL    ## 机器标识 局域网内唯一即可。 LVS_DEVEL这字段在/etc/hosts文件中看;通过它访问到主机
    script_user root #运行健康脚本的用户
    enable_script_security
}
vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh"   #检测脚本存放的路径
    interval 2   ## 检测脚本执行的间隔,即检测脚本每隔2s会自动执行一次
    weight 2  #权重,如果这个脚本检测为真,服务器权重+2
}
vrrp_instance VI_1 {
    state BACKUP    ## 指定keepalived的角色,MASTER为主,BACKUP为备。备份服务器上需将MASTER 改为BACKUP
    interface ens33 ## 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡
    virtual_router_id 51 ## 虚拟路由编号,主、备机的virtual_router_id必须相同
    priority 90         #优先级,数值越大,获取处理请求的优先级越高。主、备机取不同的优先级,主机值较大,备份机值较小
    advert_int 1    ## 检查间隔,默认为1s(vrrp组播周期秒数),每隔1s发送一次心跳
    authentication {     ## 校验方式, 类型是密码,密码1111
        auth_type PASS   #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
        auth_pass 1111
    }
    virtual_ipaddress { ## 自定义虚拟IP。自定义的虚拟ip得根据真实ip设置。比如真实ip是192.168.91.138,那么虚拟ip可以设置为192.168.91.139~255,前面三个数得一致
        192.168.137.50 ## 定义虚拟ip(VIP),可多设,每行一个
    }
    track_script{
        chk_nginx  #使用nginx检测脚本
    }
}

4.验证是否配置成功

  1. 访问虚拟IP 192.168.137.50下的Nginx服务,判断是否访问成功,表示单机是否配置成功.
  2. 停掉刚才虚拟IP代理下服务器的Keepalived,继续访问虚拟IP,判断是否还能访问到Nginx服务
  3. 停掉Nginx服务判断是否会自动重启

问题排查: 查看日志,默认路径是/var/log/message

5.模式选择:

  1. 抢占模式:只需要给机器加上preempt配置就会变为抢占模式
  2. 非抢占模式:只需要给机器加上nopreempt配置就会变为抢占模式

Apache Http

1.基本操作

本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况

启动命令: /usr/local/apache2/bin/apachectl start
停止命令:  /usr/local/apache2/bin/apachectl stop
重新启动命令: /usr/local/apache2/bin/apachectl restart
要在重启 Apache 服务器时不中断当前的连接,则应运行: /usr/local/sbin/apachectl graceful

如果apache安装成为linux的服务的话,可以用以下命令操作:

service httpd start 启动
service httpd restart 重新启动
service httpd stop 停止服务
  • Ubuntu 使用命令
# 一、Start Apache 2 Server /启动apache服务
/etc/init.d/apache2 start
sudo /etc/init.d/apache2 start

# 二、 Restart Apache 2 Server /重启apache服务
/etc/init.d/apache2 restart
$ sudo /etc/init.d/apache2 restart

# 三、Stop Apache 2 Server /停止apache服务
/etc/init.d/apache2 stop
$ sudo /etc/init.d/apache2 stop

# Windows
# 直接使用ApacheMonitor界面操作

weblogic

安装:https://blog.51cto.com/u_15127616/3446643

linux系统中weblogic启动报错authentication for user weblogic denied

https://blog.csdn.net/wl_sqfn/article/details/103412396

配置idea:

https://blog.csdn.net/kanchaishaonian/article/details/81751276

weblogic10.3.6支持的web.xml配置比较低,需要改成低的版本。servlet不支持注解的,需要配置xml

BES

国产信创web中间件,对标weblogic,官网的资料和网上的资料都很少,需要采购商用版本才可以获得技术支持。这一点对于普通的开发者来说是不太友好的

下载地址

启动命令

# 默认账号/密码  admin/B#2008_2108#es
iastool.bat --user admin --passport B#2008_2108#es  --password B#2008_2108#es start --server

支持的功能比较多:

多数据源配置:


文章信息

张雪随笔
master
Homepage
Issues
Download

This Software is under the terms of The Unlicense.