Springboot centos7 启动

 

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 端口:

 

posted @ 2022-10-27 11:37  三瑞  阅读(211)  评论(0编辑  收藏  举报