在linux上运行jar程序操作记录

1.文件传送

使用ftp把打包后的项目jar包上传到linux服务器的目录上(这里有两个文件,一个pengning.jar,一个配置文件application.yml)

2.进入目录并运行程序

打开终端,进入pengning.jar所在的目录

[root@campus /]# 
[root@campus /]# cd /var/www/pengning
[root@campus pengning]# ls
application.yml  nohup.out  pengning.jar
[root@campus pengning]# 

运行JAR程序 ,即可启动项目后端程序。

 java -jar pengning.jar

使用这种方法,当退出或关闭shell时,程序就会停止掉

如果想要后台运行,可执行如下命令:

[root@campus pengning]# java -jar pengning.jar &

在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。这种情况适合短时间测试用

要想后台运行,并且关闭shell后不会中断,可以使用以下命令

[root@campus pengning]# nohup java -jar pengning.jar &

nohup是no hangup的缩写,hangup (挂断),终端退出时会发送 hangup 信号来通知其关闭所有子进程。no nangup就是即使终端关闭,也不结束子进程。

上面使用nohup的命令,会自动在同级目录上生成nohup.out的日志,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。

如果我想日志保存到其它位置,可以使用">filename 2>&1"来更改缺省的重定向文件名。

[root@campus pengning]# nohup java -jar pengning.jar >/home/temp.out 2>&1 &

这里相当于将日志保存在/home/temp.out的文件中。

上面的2 和 1 的意思如下:
0 标准输入(一般是键盘)
1 标准输出(一般是显示屏,是用户终端控制台)
2 标准错误(错误信息输出)

有一些时候,日志积累会非常大,我们不想保存日志,则可以使用下面命令

[root@campus pengning]# nohup java -jar pengning.jar >/dev/null 2>&1 &

这里/dev/null是"黑洞"文件,相当于日志就不保存了。

上面两条命令暂时还未测试。

3.防火墙放行

linux防火墙放行
这里以80端口为例:

[root@campus ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@campus ~]# firewall-cmd --reload
success

如果需要在外网访问,那需要在路由器或硬件防火墙那里做相应地址转换和放行。

4.测试

测试 http://localhost:80/penging 访问项目欢迎页运行地址

显示出welcome to penging project! 即访问成功

或者使用下面命令查看和测试端口。

[root@campus ~]#
[root@campus ~]# netstat -ntlp  //查看端口
[root@campus ~]# wget 127.0.0.1:80/pengning  #模拟http访问地址

如何在linux上关闭已经打开的jar程序?

按照如果操作获取PID,然后将其停止

[root@campus ~]#  ps -ef | grep  java
root     11316 11174  0 14:49 pts/0    00:00:22 java -jar pengning.jar
root     14444 11384  0 15:38 pts/1    00:00:00 grep --color=auto java
[root@campus ~]# kill -15 11316
[root@campus ~]# 
[root@campus ~]# 
[root@campus ~]#  ps -ef | grep  java
root     14512 11384  0 15:39 pts/1    00:00:00 grep --color=auto java
[root@campus ~]#

参数说明:

-9 表示强制关闭程序 不建议使用 可能导致数据不正确 不建议使用

-15 表示拒绝新线程(任务)创建 当前正在运行的线程执行完之后再关闭程序 建议使用

下一篇介绍如何自动开机运行

《CentOS开机自动运行jar程序实现》

你可能感兴趣的:(Linux,Java,linux,jar,运维)