共计 2827 个字符,预计需要花费 8 分钟才能阅读完成。
idea 使用 spring Initalizr 快速构建 spring boot
- 点击新建项目, 选择如图所示
- 点击 next 后
- 点击 next,之后按照图中所示选择
- 选择路径
- 点击完成,如图所示,删除自己不想要的,项目构建完成
- 构建一个 controller,启动项目就可以看到返回结果了
在自己的服务器搭建自己的 springboot 项目
使用 idea 向远程服务传递项目
- 设置 idea
- 配置相关信息
- 上传到指定机器
配置启动脚本,基于 java -jar 命令
- start.sh
#!/bin/bash
nohup java -jar target/zplxjj.jar &
- stop.sh
#!/bin/bash
PID=$(ps -ef | grep target/zplxjj.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
启动自己的项目只需要执行 run.sh 就行,一个自己的 spring boot 就搭建起来了
logback 配置
实际项目中,我们希望日志可以记录在服务器上面,这边用的是 logback,是 springboot 自带的,我这边集成方式是加入 logback-spring.xml 文件,加入后启动项目即可,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 用来定义变量值的标签 -->
<property name="LOG_HOME" value="./logs"/>
<property name="encoding" value="UTF-8"/>
<!-- 格式化输出:%d 表示日期,%thread 表示线程名,%-5level:级别从左显示 5 个字符宽度;%M:%L 是方法和行号;%msg 是日志消息;%n 是换行符 -->
<property name="normal-pattern"
value="%d{yyyy-MM-dd/HH:mm:ss.SSS}|%X{localIp}|%X{requestId}|%X{requestSeq}|%X{country}|%X{deviceType}|%X{deviceId}|%X{userId}|^_^|[%t] %-5level %logger{50} %line - %m%n"/>
<property name="plain-pattern" value="%d{yyyy-MM-dd.HH:mm:ss} %msg%n"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志文件输出的文件名 -->
<file>${LOG_HOME}/zplxjj.log</file>
<Append>true</Append>
<prudent>false</prudent>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${normal-pattern}</pattern>
<charset>${encoding}</charset>
</encoder>
<!-- 按时间分割 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/zplxjj.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>128MB</maxFileSize>
<maxHistory>15</maxHistory>
<totalSizeCap>32GB</totalSizeCap>
</rollingPolicy>
</appender>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- 格式化输出:%d 表示日期,%thread 表示线程名,%-5level:级别从左显示 5 个字符宽度 %msg:日志消息,%n 是换行符 -->
<pattern>${normal-pattern}</pattern>
</encoder>
</appender>
<!-- log file error -->
<appender name="ERROR"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<file>${LOG_HOME}/zplxjj-error.log</file>
<prudent>false</prudent>
<Append>true</Append>
<encoder>
<pattern>${normal-pattern}</pattern>
<charset>${encoding}</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/zplxjj-error.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>128MB</maxFileSize>
<maxHistory>15</maxHistory>
<totalSizeCap>32GB</totalSizeCap>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
<appender-ref ref="ERROR"/>
</root>
</configuration>
效果如图:
本人也开通了微信公众号:stonezplxjj,更多文章欢迎关注公众号:
正文完
发表至: java
2019-04-23