• 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

  • 相关阅读:
    动态内存开辟(一)
    结构体,联合体,枚举,typedef
    练习使用C++的string类
    WIN10 + Qt 5.14(MSVC 2017,32bit) + APP项目(minGW-7.3.0 32bit)+glog
    扫雷游戏
    最小栈实现
    快速排序算法
    c++语句(循环)
    C++ 存储类
    C++ 运算符
  • 原文地址:https://www.cnblogs.com/wlwl/p/9717973.html
Copyright © 2020-2023  润新知