JAVA_Web系统部署后需要做的事情(性能调优、异地备份)

本文介绍了在CentOS7环境下,针对JDK1.8和Tomcat8的内存调优,以及MySQL5.7的配置优化。此外,详细阐述了如何进行数据库的自动备份,并利用rsync实现异地备份和文件同步。最后,讨论了免密登录配置及cron定时任务的设定,确保备份流程的自动化执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境说明:centos7  ,  jdk1.8  ,  tomcat8  ,  mysql5.7

                192.168.1.252 为需要备份数据的远程服务器

参考文章:

CentOS之间rsync做文件增量(备份)同步 - silianpan的个人空间 - OSCHINA - 中文开源技术交流社区

一、调优

1.tomcat调优

        a.调整tomcat内存
        修改tomcat安装目录/bin/catalina.sh  文件
就改使用内存:最小2G,最大4G
JAVA_OPTS="-Xms2048m -Xmx4096m -Xss2048K -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=768m"
        

2.mysql调优

修改/etc/my.cnf    添加如下内容(链接数量什么的没改,100用户的小项目,原则是真的不够再加)
 

wait_timeout=600                #链接保持时间10分钟,看有得文章设置的比较小,取中了下。默认是8小时
interactive_timeout=600

#要同时设置interactive_timeout和wait_timeout才会生效。

max_allowed_packet=100M          #一次提交入库的大小,默认是4M

innodb_buffer_pool_size=1000M    #缓冲池大小,默认是128M
重启数据库:        systemctl restart mysqld.service
检查数据库使用情况:

show variables like "%timeout%";

show processlist;

二、备份

2.1、异地备份整体说明

        1.在192.168.1.252上定时备份本地数据库。

        2.在备份服务器上通过rsync定时把252上的附件和数据库备份文件,同步到备份服务器。

2.2、自动备份数据库(252上执行)

        1.编写数据库备份脚本        vi /home/mysql_backup.sh        #可自定义路径文件名

#!/bin/bash
db_user="root"
db_passwd="password"
db_name="rxisip_db"
#备份目录
backup_dir="/home/backup/bakmysql"

cd $backup_dir
#时间格式
time=$(date +"%Y-%m-%d")
#mysql 备份的命令,注意有空格和没有空格
mysqldump -u$db_user -p$db_passwd $db_name  > "$backup_dir/$db_name"-"$time.sql"
echo "your database backup successfully completed"
#这里将7天之前的备份文件删掉
SevenDays=$(date -d -7day  +"%Y-%m-%d")
if [ -f /home/backup/bakmysql/$db_name-$SevenDays.sql ]
then
rm -rf /home/backup/bakmysql/$db_name-$SevenDays.sql
echo "you have delete 7days ago bak sql file "
else
echo "7days ago bak sql file not exist "
echo "bash complete"
fi

        2.授权        chmod 777 /home/mysql_backup.sh

        3.创建备份文件夹    mkdir /home/backup/bakmysql

        3.尝试运行 ./ mysql_backup.sh                #查看有没有执行成功 -在home 目录下执行

         若提是找不到mysqldump命令,需要做个软链接

find  / -name mysqldump -print //找到文件名称为mysql的文件
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin     //填写上面命令找到的路径

 2.3、在备份服务器,设置免密登录远程服务器

        192.168.1.252为远程服务器地址

ssh-keygen -t rsa  #一路回车
ssh-copy-id root@192.168.1.252   #yes   输入远程服务的链接密码
ssh root@192.168.1.252            #尝试免密登录远程服务器
exit                        #退出链接

        2.3.1 配置失败的情况

 记录一个免密配置失败的情况,服务器是甲方网管给的虚机,用户是osadmin,但有root权限,登录后whoami 显示是root. su - osadmin 切换不了用户(这里体现出自己对Linux的设置不熟了),用chowm osadmin:osadmin 也修改不了.ssh文件夹的所有者。生成密钥对呢也是生成在/root/.ssh下面

   执行如下命令:

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub osadmin@[IP]
ssh osadmin@[ip]
#提示要输入密码

 百度了N久,最后定位归结到strictModes这个配置项,默认是yes,意思是必需保证存放公钥的文件夹的拥有与登陆用户名是相同的。“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。

        这个情况很符合,正常来说需要是yes状态,但改不过来,只好修改这个配置项了。

        在被连接的服务器上 vi /etc/ssh/sshd_config   修改:

        #StrictModes yes   为   StrictModes no

        重启ssh  service sshd restart

       重试免密登录就可以了!

2.4、在备份服务器,配置远程同步文件

yum -y install rsync

        两台服务器上都需要安装 rsync

        1.创建一个备份文件夹    mkdir /home/backup/                 #可自定义路径文件名

        2.创建日志文件                vi /home/rsync.log                #可自定义路径文件名

        3.创建数据库通报日志文件       vi /home/rsync_sql.log       #可自定义路径文件名

        4.编写备份脚本                vi /home/auto_rsync.sh        #可自定义路径文件名

rsync -vzrtopg --progress --delete -e 'ssh -p 22' root@192.168.1.252:/opt/upload_files /home/backup/ 1> /home/rsync.log 2>&1
rsync -vzrtopg --progress --delete -e 'ssh -p 22' root@192.168.1.252:/home/backup/bakmysql /home/backup/ 1> /home/rsync_sql.log 2>&1

        5.chmod 777 /home/auto_rsync.sh                        #授权,赋予个执行权限就够了,不用777

        6.尝试运行    ./auto_rsync.sh          #在备份脚本同一目录执行,验证备份脚本有没有成功

        7.若没有成功查看相应log文件即可,有些是权限问题。 

 2.5、设置定时执行

crontab -e         #以vi文本编辑的方式编辑定时任务

在252上,数据库每天晚上23点30分执行备份

30 23 * * * cd /home/ && ./mysql_backup.sh

在备份服务器每天晚上23点45分同步文件

45 23 * * * cd /home/ && ./auto_rsync.sh

三、其他有用的指令

top  查看进程 , 按大写的M 可以查看固定内存使用高的进程(不会动来董去) 小写的q 退出。

free -m 查看内存使用情况

tar -zcvf file.tar.gz filepath/  //压缩

tar -zxvf file.tar.gz //解压tar.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值