Springboot centos7 启动
  1TTqbbmGtqHs 2023年11月02日 44 0

 

1、
java -jar demo.jar
说明:用这种方法启动后,不能继续执行其它命令了,如果想要继续执行其它命令,就都打断,打断一般用ctrl+c。

2、
java -jar demo.jar &
第2种在第1种方式的基础上在命令的结尾增加了&,&表达的意思是在后台运行。
这种方式可以避免打断后程序停止的问题,但是避免不了关闭当前窗口后程序停止的问题。

3、
nohup java -jar demo.jar &
第3种在第2种方式的基础上,在命令的最前面增加了nohup。nohub是什么?
nohup是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。
加了nohup后,即使关掉命令窗口,后台程序demo.jar也会一直执行。

4、
nohup java -jar demo.jar >1.txt &
第4种在第3种的基础上,在后面增加了>1.txt,意思是将nohup java -jar demo.jar的输出重定向到1.txt文件中,即输出内容不打印到当前窗口上,而是输出到1.txt文件中。
第3种没有加>1.txt,它的输出重定向到nohup.out文件中,nohup.out也就是nohup命令的默认输出文件。

修改日志输出文件
nohup java -jar demo.jar >1.txt 2>&1 &
标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
“>1.txt 2>&1” :表示将 stdout 和 stderr 合并后重定向到 1.txt

 

启动脚本:GetGoodWeb-0.0.1-SNAPSHOT.sh

#!/bin/bash
JAVA_HOME=/usr/local/soft/java/jdk1.8.0_231
PATH=$PATH:$JAVA_HOME/bin # shell脚本必须指定,因为脚本不会自动加载环境变量,不写的话导致出现此错误
app='/usr/javasite/GetGoodWeb-0.0.1-SNAPSHOT.jar' #jar包的决定路径
args='-server -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC' #java程序启动参数,可不写
LOGS_FILE=/dev/null # 把打印的日志扔进垃圾桶

cmd=$1 #获取执行脚本的时候带的参数
pid=`ps -ef|grep java|grep $app|awk '{print $2}'` # 抓取对应的java进程

startup(){
aa=`nohup java -jar $args $app >> $LOGS_FILE 2>&1 &`
echo $aa
}

if [ ! $cmd ]; then
echo "Please specify args 'start|restart|stop'"
exit
fi

if [ $cmd == 'start' ]; then
if [ ! $pid ]; then
startup
else
echo "$app is running! pid=$pid"
fi
fi

if [ $cmd == 'restart' ]; then
if [ $pid ]
then
echo "$pid will be killed after 3 seconds!"
sleep 3
kill -9 $pid
fi
startup
fi

if [ $cmd == 'stop' ]; then
if [ $pid ]; then
echo "$pid will be killed after 3 seconds!"
sleep 3
kill -9 $pid
fi
echo "$app is stopped"
fi

 

sudo chmod +x GetGoodWeb-0.0.1-SNAPSHOT.sh

./GetGoodWeb-0.0.1-SNAPSHOT.sh start

#提示如下则为成功:
#/usr/javasite/GetGoodWeb-0.0.1-SNAPSHOT.jar is running! pid=50529

 

 

1.先查看防火墙是否开启的状态,以及开放端口的情况:

systemctl status firewalld.service(查看防火墙开启还是关闭)

sudo firewall-cmd --list-all(可以查看端口开放情况)

2.使用以下命令来开启或者关闭虚拟机的防火墙

systemctl stop firewalld.service(停止防火墙)

systemctl start firewalld.service(打开防火墙)

disable firewalld.service(关闭开机自启)

3.接下来通过以下命令开放http 8080(80) 端口:

sudo firewall-cmd --add-service=http --permanent (允许http服务)

sudo firewall-cmd --add-port=8080/tcp --permanent(打开8080端口)

注:命令末尾的–permanent表示用久有效,不加这句的话重启后刚才开放的端口就又失效了。

4.最后重启防火墙:

sudo firewall-cmd --reload (查看端口开放情况)

sudo firewall-cmd --list-all

发现 services: 出现 http 服务,ports:出现了8080/80 端口:

 



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  4crWjjQBqFOy   2023年11月13日   22   0   0 javamavenandroid
  wpWn7yzs0oKF   2023年11月13日   29   0   0 javaapacheHDFS
1TTqbbmGtqHs