1:用idea写一个测试项目,分配端口号为8090,用maven工具打成jar包
2:用finalshell或者xshell终端模拟机软件连接远程主机后。
3:开始上传jar包到linux服务器指定的文件夹下,用mkdir命令在根目录下建一个test文件夹,用rz命令把jar包上传到linux服务端当前文件夹下。
4:接下来在运行jar包之前,需要安装有jdk环境,项目需要的数据库(数据库可以远程连接其他服务器),可以先查看下有没有
查看命令结果显示,只有安装了jdk,没有MySQL数据库,因为MySQL数据库在另一台服务器上,这里不做演示了,如果需要安装:首先要下载mysql的repo源
4.1 可以执行wget命令下载,
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
如果显示wget:commend not found,则需要先安装wget命令,然后继续下载mysql
yum -y install wget
下载完mysql之后,开始安装rpm包,在安装mysql,安装完成之后用rpm -qa命令查看是否安装成功
rpm -ivh mysql57-community-release-el7-8.noarch.rpm yum install mysql-server rpm -qa|grep mysql
启动mysql服务,获取临时mysql登录密码,使用临时密码登录
service mysql start grep 'temporary password' /var/log/mysqld.log mysql -u root -p
登录成功之后,修改临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'
4.2 jdk安装步骤
首先去jdk官网下载linux系统的jdk,一般是-64.tar.gz结尾的文件,然后通过rz命令上传jdk,开始安装
tar -zxvf jdk-8u221-linux-x64.tar.gz
完成安装后需要修改环境变量
vim /etc/profile 在文件末尾追加内容 JAVA_HOME=/usr/local/jdk-8u221-linux-x64 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar export PATH JAVA_HOME CLASSPATH 然后按esc退出编辑,按wq保存并退出
5:环境准备完毕之后,开始运行
java -jar 项目名.jar :这个只能暂时启动,退出后就访问不到了。 nohup java -jar 项目名.jar & :后台启动,只能杀死进程号 kill -9 进程号
6:开始访问设置的ip和端口号,如果是本地局域网搭建的,防火墙默认是开启的,访问不了,可以关闭防火墙,如果用云服务器,可能就要设置云服务器的安全组策略添加所用的端口号,
systemctl status firewalld 查看防火墙状态 systemctl start firewalld 开启防火墙 systemctl stop firewalld 关闭防火墙
7:结果,访问ip和端口号的时候就能看到结果
8:用top命令查看当前运行的jar包的情况
9:用nohup java -jar 项目名.jar 启动之后会生成nohup.out 日志文件,可以直接用 tail -f nohup.out 查看日志。
kill -9 进程号 杀死一个进程 tail -f nohup.out 查看动态的日志,一般nohup.out是日志 tail -500f nohup.out 查看后500行日志 vim nohup.out 查看静态日志 ps aux|grep java 查看当前运行的java文件,后面的java可以换成其他的,比如nacos pwd 查看当前位置 进入编辑文件,如日志,或者编辑其他配置文件,i:表示开始编辑 esc:表示退出编辑,执行退出或者报错操作, ?error:表示查看日志当中错误的地方 G:表示直接跳到最顶部,shirt+g:反向跳,n:表示跳到下一个地方 :wq 保存并推出 :q 退出 :q ! 强制退出 rz 上传命令 启动项目:java -jar 项目名.jar 辅助命令: rm a.txt 删除文件a.txt mv a b 将目录a重命名为b mv /a /b/c 将/a目录移动到/b下,并重命名为c
10:更新版本,继续打成jar包,然后rz上传(因为之前上传过),rz -y 强制上传并覆盖;
11:常用命令
运行jar 守护进程: nohup java -jar xx.jar > nohup.out 2>&1 & 对/home目录下的test文件夹进行打包:jar cvf test.jar 解压test.jar包:jar xvf test.jar 打包完成之后:把jar包copy到linux服务器上,并在后台执行 nohup java -jar test.jar & &表示在后台执行中间的command,即使退出终端也不会终止程序的执行 如果用java -jar ***.jar 这样退出Xshell之后会停止服务。 通过:ps -ef|grep test.jar 查看当前进程是否在后台执行。 查看某一个端口下的进程:netstat -lanp|grep 8888 在Linux项目上对项目进行操作的命令符如下: 后台暂时运行:java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar(后台暂时运行) 后台永久运行,想要停止需杀死后台进程:nohup java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar &() 查看jar进程:ps aux|grep cloud-yyxx-web-1.0-exec.jar 杀掉进程: kill -9 进程号 部署上去之后:linux防火墙默认是开启的,需要关闭,我们需要开放我们项目的端口号 ifstat:查看网络传输情况 top:查看系统性能 主要看:cpu 内存占用率,和负载(三个值平均值超过0.6说明负载过大)。 uptime:系统性能命令精简版,只能看到负载, vmstat -n 2 3:查看包括不限于cpu(通过两个参数:2,表示2秒内,3:表示采样次数) - procs r:运行和等待CUP时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个系统的运行队列不过核数的2倍,否则代表系统压力过大。 b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。 -cpu us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%,需优化程序; sy:内核进程消耗的CPU时间百分比; us+sy参考值为80%,如果us+sy大于80%,说明可能存在CPU不足; id:处于空闲的CPU百分比; wa:系统等待IO的CPU时间百分比; st:来自于一个虚拟机偷取CPU时间的百分比。 mpstat -p all 2:查看所有cpu信息 free:查看内存使用情况 df:查看磁盘使用情况 单位kb



