1.确定文件目录

主要通过df命令和du命令确定好磁盘大小以及磁盘使用情况,和磁盘剩余大小来判断项目以及软件安装到哪个目录

1.1df命令

df命令主要用来判断磁盘空间大小,使用情况、剩余情况,要看df的参数使用df --help查看即可,这里我使用的是df -h /目录名,即可显示当前目录所在磁盘,以及这个磁盘使用情况

如何查看服务器上得docker 如何查看服务器环境_服务器

1.2du命令

查看当前目录大小使用情况,注意是使用情况,主要命令du -h -c

如何查看服务器上得docker 如何查看服务器环境_redis_02

1.3free命令

查看当前服务器内存大小

free -g

2.查看中间件,及一些应用是否安装

例如:jdk、nginx、redis,tomcat,oceanbase,dubbo-admin,kkfileview

2.1查看方法:

  1. 通过ps命令查看是否存在该进程
  2. 通过find命令查看是否存在该文件或文件夹

3 redis

3.1安装redis

1.下载对应版本安装包 网址:https://download.redis.io/releases/
2.将redsi压缩包放到对应位置,建议放到/usr/local/redis中去
3.解压命令:tar -zxvf reids

tar -zxvf  reids

4.建立软连接(注意是小写的L,不是大写的i)

ln -s redis-xx-xx-x  /home/zszq

5.建立软连接的时候层级建立错了的话删除命令:
注:软连接目录后面不要接/,接/的话会把软连接的源目录文件删掉,最好用rm /软连接目录删除
因为软连接只是一个文件

rm -f /软连接目录

5.看是否有C环境,没有安装,有继续执行下一步,命令:

gcc -v

6.在解压的文件加下执行make

make

7.安装到指定目录下,建议/usr/local/redis 命令:make install PREFIX=/usr/local/redis

make install PREFIX=/usr/local/redis

注:直接执行make install的话会安装到默认路径:/usr/local/bin

8.将redis的config文件copy到软连接的bin下

cp redis.conf /home/zszq/redis/

9.redis.master.conf配置文件

port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/usr/local/keepalived/data/pid/redis_6379.pid"
loglevel notice
logfile /usr/local/keepalived/logs/redis.6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.6379.rdb"
dir "/usr/local/keepalived/data"
masterauth 123123
slave-serve-stale-data yes
slave-read-only no
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass 123123
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

10.redis.backup.conf

port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/usr/local/keepalived/data/pid/redis_6379.pid"
loglevel notice
logfile /usr/local/keepalived/logs/redis.6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.6379.rdb"
dir "/usr/local/keepalived/data"
masterauth 123123
slave-serve-stale-data yes
slave-read-only no
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass 123123
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

11.判断安装是否成功:

ps -ef |grep redis

12.启动:

./bin/redis-service ./**.conf

3.2卸载redis

3.3 redis主从配置

两个服务器的配置文件不一样,一个master,一个backup,具体详情看配置文件

注:一定要先启动redis在启动keepalived,redsi主从才会好使

4.安装keepalived

1下载地址

https://www.keepalived.org/download.html

2.安装

1 tar -xf keepalived-1.2.20.tar.gz
2 cd keepalived-1.2.20
3 ./configure && make && make install
4 mkdir /etc/keepalived
5 mkdir /usr/local/keepalived/scripts/ -p
6 cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
7 cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
8 cp /usr/local/sbin/keepalived /usr/sbin
9 cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
10 chmod +x /etc/init.d/keepalived
11 chkconfig --add keepalived
12 chkconfig keepalived on

3 keepalived配置主从

3.1主服务器:
1.cd /etc/keepalived
2.把keepalived配置文件下的master里面的keepalived.conf文件替换进去(注意keepalived.conf文件的权限必须是644,不能多,不能少)
3.将主配置文件放到scripts文件夹中去,详情看配置文件

3.2.从服务器:
1.cd /etc/keepalived
2.把keepalived配置文件下的slave里面的keepalived.conf文件替换进去(注意keepalived.conf文件的权限必须是644,不能多,不能少)
3.将从配置文件放到scripts文件夹中去,详情看配置文件
2.3启动keepalived
启动systemctl start keepalived.service
停止systemctl stop keepalived.service
查看状态止systemctl status keepalived.service

4.配置文件(主)

! Configuration File for keepalived
global_defs {
    router_id redis
}
vrrp_script chk_redis {
    script /usr/local/keepalived/scripts/redis-check.sh   #keepalived 健康检测执行脚本
    interval 2  #每隔几秒发一次健康检测请求
    timout 2    #响应超时:超过多长时间未响应认为是失败
    fall 3      #检测失败几次,认为是redis 服务器挂了
    weight -10  #自我确定服务器挂了之后,优先级加多少, 也就是宕机之后 priority += weight
}
vrrp_instance redis {
    state MASTER     #MASTER 表示为主, BACKUP 表示为从
    interface ens4   #eth0 表示监听哪块儿网卡  
    virtual_router_id 51   
    priority 100     #优先级, 从服务器推选主服务器就是根据这个来比较的
    advert_int 1  
    virtual_ipaddress {
       xx.xx.xx.xxx  #虚拟的ip 是多少
    }
    track_script {
       chk_redis
    }
    unicast_src_ip  xx.xx.xx.xxx  #keepalived 内部通信,本机ip 地址
    unicast_peer {
       xx.xx.xx.xxx #指定其它keepalived 地址,如果这个不指定,可能出现,主从都虚拟出了 xx.xx.xx.xxx ip地址
    }
    notify_master /usr/local/keepalived/scripts/redis-master.sh  #keepalived 被推选为主服务器器时执行的脚本
    notify_backup /usr/local/keepalived/scripts/redis-backup.sh  #keepalived 被降级为从服务器时执行的脚本
    notify_fault /usr/local/keepalived/scripts/redis-fault.sh    #keepalived 运行出现错误的时候执行的脚本
    notify_stop /usr/local/keepalived/scripts/redis-stop.sh      #keepalived 服务停止时执行脚本
}

5.配置文件从

! Configuration File for keepalived
global_defs {
    router_id redis
}
vrrp_script chk_redis {
    script /usr/local/keepalived/scripts/redis-check.sh   #keepalived 健康检测执行脚本
    interval 2  #每隔几秒发一次健康检测请求
    timout 2    #响应超时:超过多长时间未响应认为是失败
    fall 3      #检测失败几次,认为是redis 服务器挂了
    weight -10  #自我确定服务器挂了之后,优先级加多少, 也就是宕机之后 priority += weight
}
vrrp_instance redis {
    state BACKUP     #MASTER 表示为主, BACKUP 表示为从
    interface ens4   #eth0 表示监听哪块儿网卡  
    virtual_router_id 51   
    priority 100     #优先级, 从服务器推选主服务器就是根据这个来比较的
    advert_int 1  
    virtual_ipaddress {
       10.56.57.234  #虚拟的ip 是多少
    }
    track_script {
       chk_redis
    }
    unicast_src_ip  10.56.57.202  #keepalived 内部通信,本机ip 地址
    unicast_peer {
       10.56.57.201 #指定其它keepalived 地址,如果这个不指定,可能出现,主从都虚拟出了 10.56.99.99 ip地址
    }
    notify_master /usr/local/keepalived/scripts/redis-master.sh  #keepalived 被推选为主服务器器时执行的脚本
    notify_backup /usr/local/keepalived/scripts/redis-backup.sh  #keepalived 被降级为从服务器时执行的脚本
    notify_fault /usr/local/keepalived/scripts/redis-fault.sh    #keepalived 运行出现错误的时候执行的脚本
    notify_stop /usr/local/keepalived/scripts/redis-stop.sh      #keepalived 服务停止时执行脚本
}

6.执行的redis脚本:

redis-backup.sh

#!/bin/bash
#Auth yangshen
#Time 2022年 11月 28日 星期一 14:52:02 CST
#Desc 备用服务器
 
#日志文件
logFile=/usr/local/keepalived/logs/redis-keepalived.log
 
# redis-cli 命令绝对路径
cliCmd=//usr/local/redis/bin/redis-cli
 
# 本机redis 服务密码
passwd=123123
 
echo "backup.sh" >> $logFile
echo "waiting for sync data ..." >> $logFile
# 暂停5秒
sleep 5
 
# 设置主从关系
echo "begin to slave ..." >> $logFile
$cliCmd -a $passwd SLAVEOF xx.xx.xx.xxx 6379 &> $logFile
 
echo  "slave done !" $>logFile

redis-check.sh

#!/bin/bash
#Auth yangshen
#Time 2022年 11月 28日 星期二 14:37:15 CST
#Desc 检测redis服务是否正常脚本, 接受两个参数
#     arg1 ip地址  arg2 端口号
 
#redis 密码
passwd=@Ld123123
 
#日志文件位置
logFile=/usr/local/keepalived/logs/redis-keepalived.log
 
#ping 本机redis服务
pingRS=`/usr/local/redis/bin/redis-cli -a @Ld123123 PING`
 
#如果ping 的结果为PONG,那么返回0 ,否则返回1
if [ $pingRS == "PONG" ]  ; then
   echo "ping is ok !"  >>$logFile
   exit 0
else
   echo "ping is error !"  >>$logFile
   exit 1
fi

redis-fault.sh

#!/bin/bash
#Auth yangshen
#Date 2022年 11月 28日 星期一 15:50:09 CST
#Desc keepalived 发生错误时执行脚本 
 
# keepalived 日志文件位置
logFile=/usr/local/keepalived/logs/redis-keepalived.log
 
# 向日志输出错误信息
echo "[$(date)] *****  redis falut  ***" >> $logFile

redis-master.sh

#!/bin/bash
#Auth yangshen
#Time 2022年 11月 28日 星期一 14:44:24 CST
#Desc 主服务器脚本
 
# redis 本机服务密码
passwd=123123
 
# redis-cli 命令绝对路径
cliCmd=/usr/local/redis/bin/redis-cli
 
# keepalived 日志文件位置
logFile=/usr/local/keepalived/logs/redis-keepalived.log
 
echo "`[date]` master " >> $logFile
 
# 设置主从关系,同步数据
echo "begin slaveof ..." >> $logFile
$cliCmd -a $passwd SLAVEOF xx.xx.xx.xxx 6379 &>>$logFile
 
# 暂停5秒,保证数据同步结束
sleep 5 
echo "slaveof done !" >> $logFile
 
# 取消同步
$cliCmd -a $passwd SLAVEOF NO ONE &>>$logFile

redis-stop.sh

#!/bin/bash
#Auth yagnshen
#Date 2022年 11月 28日 星期一 15:53:52 CST
#Desc keepalived 停止时执行脚本
 
#日志文件
logFile=/usr/local/keepalived/logs/redis-keepalived.log
 
#输出日志信息
echo "stop ..." >> $logFile

7.启动keepalived

启动systemctl start keepalived.service
停止systemctl stop keepalived.service
查看状态止systemctl status keepalived.service

遇到的问题:./configure的时候说找不到openssl的EVP,找了好久没有找到问题,然后怀疑版本问题,之前安装的是1.0.2,看了一下是比较老的版本了,而且官网说不在支持了

如何查看服务器上得docker 如何查看服务器环境_zookeeper_03


然后换了版本,使用3.0的,但是3.0安装时间特别旧,并且没有安装成功(怀疑是旧的压缩包没有删除的问题,但是安装时间太长了,不想在安装一遍了),直接换1.1.1,安装成功,keepalived也安装成功,但是之前nginx安装的时候使用的openssl是老版本的,担心有问题,重新重启动了一遍,发现没有问题

2.安装时提示找不到openssl

原因:可能是安装openssl的时候指定了安装目录,重新安装一遍openssl,不指定安装目录

3.安装完了没有启动脚本

如何查看服务器上得docker 如何查看服务器环境_如何查看服务器上得docker_04


解决放方法:

从压缩文件中复制

如何查看服务器上得docker 如何查看服务器环境_java_05

启动项目遇见的问题:
1.ts无法启动,原因端口号冲突,将其修改成不同的端口号即可
2.ls无法启动,并且无报错日志,配置文件有问题,可能是编码问题,重新copy一份

4.ngixn

1.先判断电脑是否有nginx的运行环境

rpm -qa|grep gcc-c++

如何查看服务器上得docker 如何查看服务器环境_服务器_06

2.下载安装包

官网:

https://nginx.org/download/

3.下载对应压缩包并传到Linux上后解压

4.编译 执行命令

考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

5.进入nginx目录,执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)

make

6.安装

make install PREFIX=/usr/local/nginx

7.检测配置文件是否有问题

如何查看服务器上得docker 如何查看服务器环境_redis_07

8.启动

./sbin/nginx -c ./conf/nginx.conf

9.启动校验是否启动成功

如何查看服务器上得docker 如何查看服务器环境_java_08


内网环境的话查看进程号

ps -ef |grep nginx

10.在对应目录下建立软连接

https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/

11安装时遇到的问题

参考链接:
1.没有openssl-devel并且无法通过yum安装
openssl下载地址

https://www.openssl.org/source

执行命令:

tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config(不指定,在make install时指定也可)
make 
make install

安装后并不能直接启动,在nginx的./configure时增加参数–with-openssl=解压目录,即:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=解压目录

然后在make的时候出现问题

如何查看服务器上得docker 如何查看服务器环境_zookeeper_09


去到objs的MakeFile中修改的报错后重新make

提示我编译nginx时struct crypt_data’没有名为‘current_salt’的成员
然后换了一个nginx版本就好了

安装zookerper

1.下载地址

https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/

2.同上一样上传到linux并解压

3.解压后移动到自己想要的目录去

4.做好软连接

5.创建zoo.cfg

cp zoo_sample.cfg zoo.fig

5.修改zoo.cfg(增加一行log,并创建好对应位置的logs)

dataDirLog=/usr/local/zookeeper/logs

6.启动

./bin/zkServer.sh start conf/zoo.cfg

7.检查是否启动成功

./bin/zkServer.sh status

8.启动问题:
check if dataLogDir and dataDir configuration is correct
解决办法,删除log和data下的文件夹及文件

9.部署集群
1.修改zoo.config文件,加入下面这一行

server.1=ip1:2888:3888
server.2=ip2:2888:3888

2.在data文件夹中创建myid文件,文件写自己ip对应的server后面的数字,例如ip1的myid就写1,ip2的myid就写2

3.开启2888,3888端口

4.判断是否启动成功./bin/zkService.sh status(注意按mode状态)

如何查看服务器上得docker 如何查看服务器环境_redis_10


如何查看服务器上得docker 如何查看服务器环境_zookeeper_11

安装tomcat

1.下载tomcat,官网:

https://tomcat.apache.org/

2.上传,解压,建立软连接即可

3.启动,在bin目录下执行./startup.sh

./startup.sh

4.检查是否启动成功:

如何查看服务器上得docker 如何查看服务器环境_java_12

安装dubbadmin

1.下载安装包,下载地址:

https://github.com/apache/dubbo/releases

如何查看服务器上得docker 如何查看服务器环境_如何查看服务器上得docker_13


2.安装:

直接放到想要安装的位置解压,并在bin目录中启动

3.遇到的问题:
启动后使用ps -ef | grep dubbo-admin 能够判断出启动成功了,但是在网页使用ip+8090无法访问,有可能是因为防火墙端口号没有开,开启8090

systemctl start firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload