您现在的位置是:首页 >其他 >部署项目(ubantu服务器,配置jdk,启动项目,及测试)网站首页其他

部署项目(ubantu服务器,配置jdk,启动项目,及测试)

what_2018 2025-09-11 00:01:06
简介部署项目(ubantu服务器,配置jdk,启动项目,及测试)

目录

1、ubantu安装jdk

2、部署项目

​ 解决 java -jar 报错:xxx.jar 中没有主清单属性 ​

3、测试

4、查看系统部署的应用


1、ubantu安装jdk

#压缩文件jdk文件:
     tar -czvf jdk17.tar.gz jdk17 
#解压jdk文件:
     tar -xzvf jdk17.tar.gz

        参考:https://www.runoob.com/linux/linux-comm-tar.html

     ubantu 配置jdk环境变量:

        1、vim /etc/profile

        ##打开profile文件 ##打开之后把光标移动到文件的末尾,进行添加下面的命令:
    

#直接指向jre
export JAVA_HOME=/home/tools/jdk17
export PATH=$PATH:$JAVA_HOME/bin 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、做完上面的操作,保存退出,然后刷新,使环境变量马上生效,命令:

source /etc/profile

做完以上就配置好了!!!

3、最后检查一下是否生效,通过直接输入

 javac ,或者java -version

来查看是否生效。

参考:https://blog.csdn.net/qq_38556796/article/details/113684888

2、部署项目

进入目录: cd /root/testJar/

上传edge-msg-java-0.0.1-SNAPSHOT.jar到服务器

 启动命令:


java -jar springboot.jar --server.port=8181 --spring.profiles.active=dev
nohup    java -jar edge-msg-java-0.0.1-SNAPSHOT.jar   --server.port=28001 > xx-1.0.log 2>&1 &
nohup    java -jar edge-msg-java-0.0.1-SNAPSHOT.jar   --server.port=28011 > xx-1.0.log 2>&1 &
nohup    java -jar edge-msg-java-0.0.1-SNAPSHOT.jar   --server.port=28021 > xx-1.0.log 2>&1 &
     

sh脚本启动

查看状态: ./test.sh status

启动项目:./test.sh start

关闭项目: ./test.sh stop

#!/bin/bash
 
 
# jar包路径-你放置jar包的路径,可自定义
HOME='/root/testJar'
 
# 启动
start(){
    cd $HOME
    # 将java程序后台启动,并将启动日志指向xx-1.0.log中
    nohup    java -jar edge-msg-java-0.0.1-SNAPSHOT.jar   --server.port=28001 > xx-1.0.log 2>&1 &
     nohup    java -jar edge-msg-java-0.0.1-SNAPSHOT.jar   --server.port=28011 > xx-1.0.log 2>&1 &
     nohup    java -jar edge-msg-java-0.0.1-SNAPSHOT.jar   --server.port=28021 > xx-1.0.log 2>&1 &
    # 打印字符串
    echo "edge-msg-java-0.0.1-SNAPSHOT.jar 启动成功"
}


# 停止
stop(){
     # 查询到项目的pid
     tpid=$(ps -ef | grep edge-msg-java-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}')
     # 判断是否为空 
    if [ -z "$tpid" ]
     then
    # 如果为空 则打印这句话
      echo edge-msg-java-0.0.1-SNAPSHOT is already stpped
     else
    # 如果不为空则执行
      echo kill $tpid 
    # 关闭进程
      kill -9 $tpid
     
      echo "程序已关闭"
    fi
}


# 查看状态
status(){
     # 获取pid的
     pid=$(ps -ef | grep edge-msg-java-0.0.1-SNAPSHOT.jar | grep -v grep)
     
     if [ -z "$pid" ]
    then
     echo "edge-msg-java-0.0.1-SNAPSHOT 程序不存在"
    else
     echo $pid
    fi
}



case $1 in
 start)
  start
;;
stop)
  stop
;;
status)
  status
;;
*)
 echo "只能是{start|stop|status|}"
;;
esac
exit 0

参考:https://blog.csdn.net/wang20000102/article/details/135580501
   

​ 解决 java -jar 报错:xxx.jar 中没有主清单属性 ​

  参考:解决 java -jar 报错:xxx.jar 中没有主清单属性 - Damon小智 - 博客园

3、测试

服务器查看指定端口是否开放:
 

netstat -ap | grep 28011

lsof -i:8888

参考:https://blog.csdn.net/cnmilan/article/details/78890575         https://blog.csdn.net/weixin_42272869/article/details/115347588

winows telnet  测试服务器是否能正常访问:

telnet 117.134.8.120 28031

htop 查看服务器运行程序

4、查看系统部署的应用

netstat -ant

root@vims:~# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:9411            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8883            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:11883         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:18083           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8084            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.54:53           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:5369            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:4370            0.0.0.0:*               LISTEN     
tcp        0      0 192.168.96.91:1883      192.168.96.81:34050     ESTABLISHED
tcp6       0      0 :::9411                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0    264 192.168.96.91:22        192.168.30.174:63403    ESTABLISHED

这些参数的含义包括:

-a:显示所有连接中的Socket。

-n:直接使用IP地址,而不通过域名服务器。

-t:显示TCP传输协议的连接状态。

-u:显示UDP传输协议的连接状态。

-l:显示监听中的服务器的Socket。

-p:显示正在使用Socket的程序识别码和程序名称。

netstat -a        列出所有当前的连接

netstat -at         列出TCP协议的连接(tcp6代表ipv6的连接)

netstat -au         列出UDP协议的连接(tcp6代表ipv6的连接)

netstat -ant        #-n:禁用反向域名解析,加快查询速度

netstat -tnl         #-l:只列出监听中的连接

netstat -tlnp        #-p:查看进程ID和进程名

netstat -tlnep        #-e:列出用户名和进程的索引节点号。-ne一起使用,User列就是用户的ID号

注意:使用-p选项时,需要让命令运行时在root权限之下,否则就不能得到在root权限下的全部进程信息。所以一般在命令前加sudo

#查看http服务是否在运行

sudo netstat -aple | grep http

 

参考:netstat命令详解_netstat ipv6-CSDN博客

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。