Linux---某项目迁移记录
某项目迁移记录
背景:
该项目部署在5台服务器上面,为web前端 smz-manager,接口 cbs-smz-batch-war,API smz-manager-api,批处理服务器,MySQL数据库,因项目检测出部分漏洞(有待确定),现在需要对项目进行迁移(从外网迁到内网,并缩减服务器)和漏洞修复
目标:
将部署在5台服务器上的项目(其中3台为外网,2台为内网),整合到2台内网服务器上面,并且修复相关漏洞
流程:
压缩需要迁移服务器里面的文件 ——> 传到目标服务器 ——> 解压 ——> 修改地址端口配置 ——> 启动测试
流程详解:
-
压缩前端UI、API服务器里面的文件,在 smz 用户下面(Tomcat下WebApps里),如 smz-manager、cbs-smz-batch-war 等,然后通过 sftp 下载到本地(也可以使用 scp 命令远程拷贝,或者 sz 下载)
压缩打包:
tar -zcvf 打包压缩后的文件名 要打包的文件
上传下载到本地,需执行安装工具命令:yum install -y lrzsz:
rz 选择上传的文件
sz 下载的文件名
传输文件至指定服务器:
scp -P端口 -r 上传的文件/ root@IP地址:home/smz/smz_foftware
-
将压缩包上传至目标服务器 --- 批处理服务器,放在 smz 用户下面,也就是和批处理同级,如果压缩包没有 Tomcat,就复制一个 Tomcat ,将压缩包放入 Tomcat 下 webapps 里,同时,将压缩包权限改为用户 smz (上传之后,默认为 root root),改完切回用户,然后解压
进入指定服务器:
ssh -P端口 root@IP地址
在 root 给用户添加权限:
chmod -R smz:smz /home/smz/smz_software/上传的文件
解压:
tar -zxvf 压缩的文件
-
因为数据库服务器比较大,放原服务器,所以,API等代码里面的配置文件不需要改,但是,其他服务器进行了迁移,服务器端口可能会冲突(先分别启动下 Tomcat,看相关服务器起来没有),如果有冲突,则在 etc 里面修改端口
查看进程:
ps -ef | grep java
终止进程:
kill -9 进程号
进入 Tomcat 下 webapps 目录备份:
tar -czvf smz-manager当前日期.tar.gz smz-manager.war
备份完后删除上个版本:
rm -rf smz-manager
(自动解压 war 包生成的)rm -rf smz-manager.war
-
部署完之后,启动服务器,看是否有三个端口启动了(接口、批处理、数据库),然后进行内网测试
进入 bin 目录下启动 Tomcat:
./ startup.sh
查看启动日志:
tail logs
本次项目注意事项:
-
使用内部的服务器管理系统,每10分钟登录用户注销,需输入用户密码
-
前端UI服务器无法直接连接操作,需要通过中转服务器进入,远程下载(后面远程操作没成功,用专用优盘,拷贝最新代码上传到批处理服务器上)
-
在后面的漏洞修复中,webapp 里面的的文件,除了传入的 war 包和一个备份文件,其他的都删了,防止被检测出目录泄漏问题