zoukankan      html  css  js  c++  java
  • Linux部署项目 shell脚本启动 及 Centos7开放指定端口

      我们首先要在linux上安装好jdk   tomcat   mysql  这些基本环境,这些可以在楼主的  Linux入门   里面找到。

    linux部署spring项目

      1. 右击项目,maven clean清理项目,maven install 将项目打成war包。

      

      2. 查看控制台信息,找到war包生成的目录,上传到tomcat的webapps里面去。

      

      3. 在bin目录 ./startup.sh 启动tomcat会自动解压这个包,并在tomcat/work/Catalina/localhost目录里面生成工程信息。

      

      4. 我们刚把war包改名了,可以通过 ip:port/WEB/url 访问,不然默认是通过 ip:port/WEB-0.0.1-SNAPSHOT/url 访问。
        如果是上传到ROOT目录, 访问的时候就不需要带包名称,直接  ip:port/url  就能访问了。

      

      5. ps aux | grep tomcat 查看进程号,   kill -9 pid 停止进程。 

      

    linux部署springBoot项目

    打成 jar 包:springboot内置了一个tomcat,我们打成jar包之后,直接执行 nohup java -jar 包名称  & 就可以启动了。
    打成war包:当我们没有采用前后端分离,页面和后台都在一个工程里面的时候就需要将项目打成war包来运行。
       注意 :
        1. 将项目打包方式改成war包
        2. springboot默认启动内置tomcat,所以我们需要修改tomcat生命周期的作用域
        3. 主函数继承SpringBootServletInitializer, 重写configure方法
        4. 我用的tomcat8, 用tomcat7会报错,需要添加一个依赖,自行百度。
        5. 项目放在tomcat/webapps目录下
        6. 项目的war包名称必须与项目的url前缀名称一致,否则访问不到

    shell脚本启动

    #!/bin/sh
    #指定项目路径
    export project_path=/javaweb
    #指定jar包名称
    export JAR_NAME=od.risk-manage-1.0-SNAPSHOT.jar
    #指定java环境变量
    export JAVA_HOME=/usr/local/wulei/jdk8
    
    
    #【停止服务】
    PID=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{ print $2 }')
    if [ ${PID} ];
    then
     echo 'Application is stpping...'
     echo kill $PID DONE
     kill $PID
    else
     echo 'Application is already stopped...'
    fi
    
    
    #【启动服务】
    #清空之前的启动日志
    echo "" > $project_path/nohup.out
    echo -e "33[47;34;5m ======= 开始启动项目..... ======= 33[0m"
    #启动脚本
    nohup $JAVA_HOME/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/log/app.dump -Xms2048m -Xmx2048m -jar $project_path/$JAR_NAME 2>&1 &
    #打印启动日志
    tail -f $project_path/nohup.out
    #echo '执行 jar 成功'

    Linux开放指定端口

     以centos7开放8080端口为例:

    添加端口
    firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
    刷新规则
    firewall-cmd --reload
    查看指定端口
    firewall-cmd --zone=public --query-port=8080/tcp
    删除指定端口
    firewall-cmd --zone=public --remove-port=8080/tcp --permanent
    查看已开放得所有端口
    firewall-cmd --list-ports

  • 相关阅读:
    python note 30 断点续传
    python note 29 线程创建
    python note 28 socketserver
    python note 27 粘包
    python note 26 socket
    python note 25 约束
    Sed 用法
    python note 24 反射
    python note 23 组合
    python note 22 面向对象成员
  • 原文地址:https://www.cnblogs.com/wlwl/p/9717973.html
Copyright © 2011-2022 走看看