需求: 我需要把本地前后端项目发布到堡垒机的测试环境进行测试,虽说都是虚拟机,但是堡垒机上面没有使用docker容器部署的形式进行项目的发布.为什么要这样提测?是在是没想到为什么,另一个项目是使用Jenkins进行提测,对比之下这手动发布到线上服务器的测试环境就麻烦的多了
既然遇到那就记录一下,因为有些命令还真是容易忘记
先来几个命令熟悉一下
sudo -i_________________________切换到root用户,前提是你需要是adm用户才可以直接切到root用户,否则无权
chown pimrec.pimrec /tmp/oppo-core-0.0.1.jar_________________________把oppo-core-0.0.1.jar文件的权限交给pimrec用户,由于执行该文件的权限统一为pimrec用户,但是能够赋权的前提是当前为root用户
chmod 755 /tmp/agents_________________________修改agents文件权限,其中7就是4+2+1啦,代表可读可写可执行,相关知识百度一下就了解
cp /tmp/oppo-core-0.0.1.jar ._________________________复制这个文件到当前目录,如果是文件夹,加一个-r递归复制就好
cp oppo-imp-0.0.1.jar oppo-imp-0.0.1_202201051720.jar_________________________把当前文件备份,后来才发现其实cp有一定的缺陷,我备份的目的是因为我需要传入一个新的文件,怕被覆盖,有返回的余地,所以一般这里使用mv而不是cp
rm oppo-core-0.0.1.jar_________________________删除这个文件,由于没有删除文件的权限,这就是我mv而不是cp的原因
kill 50253_________________________杀掉pid为50253的服务,在启动一个后端项目的时候极大可能会报端口被占用,所以要搜出来这个端口服务的pidsha杀掉
netstat -tunlp | grep 6080_________________________查看6080端口网络的情况
java -jar -Dspring.profiles.active=qa oppo-imp-0.0.1.jar_________________________启动后端项目,有缺陷,就是一旦关闭服务就会停止所以一般来说用以下方法↓
java -jar -Dspring.profiles.active=qa oppo-imp-0.0.1.jar &_________________________后台启动后端项目,&代表后台,其中 qa代表的就是我项目中spring中application.yml中激活的qa配置文件,也就是测试配置
java -jar -javaagent:/apps/bin/seeker-agent.jar -Dseeker.server.url=https://10.177.181.253:9912 -Dspring.profiles.active=qa oppo-imp-0.0.1.jar &_________________________后面补充了一个IAST安全监测的方式后台启动
ps -ef | grep java_________________________查看java运行jar,可以看见java -jar的情况
cd /apps/logs/_________________________进入后端日志文件夹
tail -50f app.log_________________________查看app日志文件后五十行
find / -name nginx_________________________查找主目录下名字与nginx相关
vim nginx.conf_________________________进入nginx.conf文件的编辑模式
一般而言都会有服务器内都会配置Nginx进行反向代理,或者是起到一个ip保护的作用的,所以你需要查看自己的Nginx配置,相关知识就需要进一步了解了
我在打包前后端文件的时候遇到一些问题
1.本地idea使用的jdk版本是1.8 但是项目是11版去打包 。我找了很多方法在idea里面配置,甚至去修改maven的setting.xml文件的配置jdk版本,试图通过maven配置指定jdk版本号,但是我在idea终端输入mvn -v 版本号还是1.8 差点疯了,好在我早点下班回家吃东西,路上思考这个问题突然有了一个灵感,既然我修改idea不行,那我不行,本机下载一个11版本的配置环境变量再找到项目所在位置cmd 去查看 然后在终端上去打包,打包命令百度一下就行,果然一试就行
2.在打包前端文件的时候,前端是vue框架 给我的部署文档里面明明写的是npm run build 去打包 百度结果也一样.但是不行,有点黑人问号。 然后我找到了,原来在package.json 文件中的script中配置类启动命令为 npm run serve 同时也配置了打包命令,打包命令有两个一个是打包测试 npm run build-test 打包开发 npm run build-prod 所以打包就会生成dist文件夹
最后需要提醒自己的就是,在堡垒机上的一些东西一定要仔细看文件或文件夹对应的操作用户 不然你自己去运行项目 是不能生效的 当然如果是root 用户的大毛病没有 但是容易搞错,还是区分用户角色比较好