Centos7部署SprintBoot项目

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的方式

com.imooc
girl
0.0.1-SNAPSHOT
war

引入依赖


        
            org.springframework.boot
            spring-boot-starter-tomcat
        

重写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项目)