将java程序部署到Linux服务器上

1.将maven文件打包成jar文件

项目右键-run-maven install,相应路径下生成jar包

2.远程连接linux服务器

取得Linux服务器地址,使用SecureCRT软件连接至Linux服务器

3.将windows上的jar文件传到linux服务器上

1)在linux服务器上安装lrzsz,需要以root身份执行

输入命令:su -

输入密码

输入命令:yum install lrzsz

等待安装

2)将windows中的jar包上传到Linux服务器

安装成功后退出root,退回到用户,使用ls、cd、cd ..等到达需要放置jar包的目录下,输入命令:rz

弹出上传文件界面,选择需要上传的jar包,即可上传

4.在linux服务器上运行jar

方法1 直接启动
输入命令:java -jar jar包名称
缺点:重启后程序会停止
方法2 部署成服务:在相应文件夹下增加启动文件,例子:
#!/bin/bash
#chkconfig: 2345 10 90
#description:rtdbus
BASE_DIR="/home/suc/rtd/test/test-bus-consumer/"
JAR_FILE="test-bus-consumer-1.0.0.jar"
SERVICE_NAME="test-bus-consumer"
start() 
{
echo "starting ${SERVICE_NAME}..."
cd $BASE_DIR
nohup java -Xms1024m -Xmx6144m -jar $JAR_FILE >/dev/null &
echo "${SERVICE_NAME} started"
stop() 
echo "stopping ${SERVICE_NAME}..." 
pid=`ps -ef|grep $JAR_FILE |grep -v grep |awk '{print $2}'`
kill $pid
echo "${SERVICE_NAME} stopped"
}
case "$1" in
start) 
start
;;
stop) 
stop
;;
restart) 
stop
start 
;;
*)
echo "Usage: `basename $0` start|stop|restart"
esac
exit

然后只需 service SERVICE_NAME start(service test-bus-consumer start) 即可启动服务

               service SERVICE_NAME stop(service  test-bus-consumer stop) 即可停止服务

修改版本的话只需修改JAR_FILE的值

5.问题

1)

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/cgs/iot/gcsp/Application : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)

解决:程序使用的是jdk1.8,而linux服务器使用的是jdk1.6,所以将linux上的jdk升级至1.8即可。

下载jdk1.8,拷贝到Linux服务器,编辑环境变量加上新加jdk1.8的路径,安装jdk1.8,将默认jdk选择更换至jdk1.8。

java -version查看是否为jdk1.8

2)log权限不够

使用root运行


tips:

1.Windows查看端口占用:http://jingyan.baidu.com/article/37bce2be10a5c21002f3a2cf.html

    cmd中写命令:netstat -ano     列出端口信息,包括PID

    tasklist | findstr "PID"     PID为端口id

2.常用linux命令

rm 删除

rmdir 删除目录

rm -rf 删除整个目录

cp -r

su 提升权限到root

mkdir 建立目录

pwd 查看当前目录

cat /etc/group 查看所有组权限

/etc/profile 配置环境变量

3.下载文件

#下载一个文件
sz filename
#下载多个文件
sz filename1 filename2
#下载dir目录下的所有文件,不包含dir下的文件夹
sz dir/*

4.查看Java进程

ps -ef|grep java

5.查看连接

netstat -ant|grep ip

6.停止服务与启动服务

service servicename stop

service servicename start

7.查看文档

cat filename | less

8.统计某文件夹下文件的个数

ls -l |grep "^-"|wc -l

统计某文件夹下目录的个数

ls -l |grep "^d"|wc -l

统计文件夹下文件的个数,包括子文件夹里的

ls -lR|grep "^-"|wc -l

统计文件夹下目录的个数,包括子文件夹里的

ls -lR|grep "^d"|wc -l

统计/imagedata/data/20161108目录(包含子目录)下的所有txt文件  

ls -lR /imagedata/data/20161108|grep txt|wc -l   或者  ls -lR "/imagedata/data/20161108"|grep "txt"|wc -l

说明:

ls -lR

长列表输出该目录下文件信息(R代表子目录注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

grep "^-"

这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l

统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

如果只查看文件夹

ls -d  只能显示一个.

find -type d    可以看到子文件夹

ls -lF |grep /    或 ls -l |grep '^d'  只看当前目录下的文件夹,不包括往下的文件夹

9.强制删除某个进程

kill -9 进程号

10.以下看所有的重启、关机记录

last | grep reboot

last | grep shutdown

11.压缩文件

tar cvf 备份文件.tar 备份文件或目录;

tar czvf 备份文件.tar.gz 备份文件或目录;

tar xzvf 备份文件.tar.gz 备份文件或目录 -C 解压到的目录;

c:(create)建立新的备份文件;

v:(verbose)显示指令的执行过程;

f:(file)置顶备份文件;

z:(gzip或ungzip)通过gzip指令处理备份文件;

x:从备份文件中还原文件

猜你喜欢

转载自blog.csdn.net/u010898743/article/details/78457960
今日推荐