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和个人博客:http://www.zplxjj.com,更多文章欢迎关注公众号:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。