美文网首页
Centos7部署SprintBoot项目

Centos7部署SprintBoot项目

作者: andpy | 来源:发表于2018-03-03 15:40 被阅读1196次

    Centos7下载安装java环境

    //查看linux系统的版本,下载对应的jdk
    uname -a  //查看系统内核
    //去逛网下载 jdk
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    //将下载的安装包上传到服务器中,解压
    tar -zxvf jdk-8u161-linux-x64.tar.gz
    //移动指定的安装目录,看个人偏好
    mv jdk1.8.0_161 /usr/installpackage
    //配置环境变量 编辑配置文件
    vi /etc/profile 
    //编写内容
    JAVA_HOME=/usr/local/javainstall/jdk1.8.0_92
    JRE_HOME=$JAVA_HOME/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
    export JAVA_HOME JRE_HOME PATH CLASSPATH
    //生效配置
    source /etc/profile
    //查看是否安装成功
    java -version
    

    maven 构建spring boot项目 (jar包)

    命令方式打包

    //进入到项目目录 pom.xml文件下,运行 maven命令
    mvn clean package
    //进入target文件目录下,运行jar项目即可
    java -jar target/bookpub-0.0.1-SNAPSHOT.jar
    

    使用Idea方式,

    • 在窗口面板中
    • Maven Projects
    • 项目名称-Lifecycle -package -->右键-> run xxx package;
    • 找到target目录->找到 xx.jar文件运行即可

    在阿里云上运行

    上传 jar包到阿里云上面

    //直接运行该项目
    java -jar target/bookpub-0.0.1-SNAPSHOT.jar
    

    后台运行项目

    //在后台运行该项目
    nohup java -jar girl-0.0.1-SNAPSHOT.jar &
    

    停止项目

    //找到进程该端口的进程
    netstat -anp | grep 8082
    //关闭该进程
    kill sid xxxx
    

    通过脚本运行:
    编写启动脚本:
    start.sh

    #!/bin/bash  
    nohup java -jar girl-0.0.1-SNAPSHOT.jar &
    

    编写停止脚本
    stop.sh

    #!/bin/bash  
    PID=$(ps -ef | grep girl-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{ print $2 }')
    if [ -z "$PID" ]
    then
        echo Application is already stopped  
    else
        echo kill $PID  
        kill $PID
    fi
    

    编写在重启脚本
    run.sh

    #!/bin/bash  
    echo stop application  
    source stop.sh
    echo start application  
    source start.sh
    

    参考文档:http://blog.csdn.net/baochanghong/article/details/54286399
    运行shell文件
    ./run.sh 或者sh run.sh
    注意在用idea打包的过程中如果本地的数据库(地址等)不能匹配不能打包成功,可以用配置文件,之后打包之后在修改
    直接用winar打开修改配置文件即可,也可以解压在打包为jar文件

    War包的方式部署

    修改打包为war的方式

    <groupId>com.imooc</groupId>
    <artifactId>girl</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    

    引入依赖

    <!--构建war包时需要的依赖-tomcat依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </dependency>
    

    重写Application类,继承SpringBootServletInitializer,复写configure方法

    //表明是该项目的启动的入口
    @SpringBootApplication
    public class GirlApplication extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(GirlApplication.class);
        }
    
        public static void main(String[] args) {
            SpringApplication.run(GirlApplication.class, args);
        }
    }
    

    在idea中运行 maven install 生产war包(maven projects girl -> lifecycle ->install)

    • 把war包放入到 tomcat 中的 webapps中
    • 启动tomcat 会自动的解压
    • 进行访问 http://127.0.0.1:8080/tomecat解压的名称/controller(这种方式在配置文件中 yml 配置的context-path: /dev 会失效,直接接口名称请求即可)

    window查看端口占用

    netstat -ano | findstr "8080"
    

    异常问题

    Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
    //在打包的过程中,如果代码中的数据信息与本地不匹配,会打包出错,建议先打包为jar,之后修改配置文件
    
    
    Found a swap file by the name ".start.sh.swp"
    //使用vim是异常中断产生的隐藏文件,使用 ls -a 查看隐藏文件,删除即可
    

    相关文章

      网友评论

          本文标题:Centos7部署SprintBoot项目

          本文链接:https://www.haomeiwen.com/subject/wrntfftx.html