1.确定文件目录

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

1.1df命令

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

1.2du命令

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

1.3free命令

查看当前服务器内存大小

free -g

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

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

2.1查看方法:

通过ps命令查看是否存在该进程 通过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,看了一下是比较老的版本了,而且官网说不在支持了 然后换了版本,使用3.0的,但是3.0安装时间特别旧,并且没有安装成功(怀疑是旧的压缩包没有删除的问题,但是安装时间太长了,不想在安装一遍了),直接换1.1.1,安装成功,keepalived也安装成功,但是之前nginx安装的时候使用的openssl是老版本的,担心有问题,重新重启动了一遍,发现没有问题 2.安装时提示找不到openssl 原因:可能是安装openssl的时候指定了安装目录,重新安装一遍openssl,不指定安装目录 3.安装完了没有启动脚本 解决放方法: 从压缩文件中复制

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

4.ngixn

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

rpm -qa|grep gcc-c++

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.检测配置文件是否有问题

8.启动

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

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

内网环境的话查看进程号

ps -ef |grep nginx

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

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

11安装时遇到的问题

参考链接:https://www.cnblogs.com/chengfo/p/16289666.html 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的时候出现问题 去到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状态)

安装tomcat

1.下载tomcat,官网:

https://tomcat.apache.org/

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

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

./startup.sh

4.检查是否启动成功:

安装dubbadmin

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

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

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

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: