SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1
在之前的博文《详解intellij idea搭建SpringBoot》介绍了idea搭建SpringBoot的详细过程, 并在《CentOS安装Tomcat》中介绍了Tomcat的安装,前面几篇文章实际上已经充分准备好了部署Linux的必要条件。那么今天来看看如何在CentOS部署SpringBoot,让你的SpringBoot在服务器上跑起来。
vLinux部署springboot
从0到1,5步走,在Linux Tomcat部署springboot:
4. 《详解intellij idea搭建SpringBoot》
5. 《SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1》。
vIntelliJ IDEA打包
1.1 设置packaging jar
如下图:
1.2 编译插件, 如果是按照《详解intellij idea搭建SpringBoot》建立的springboot模板则可跳过此步骤
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
1.3 在IntelliJ IDEA的顶部右边选择“Edit Configurations”,并添加一个Maven配置
如上图,依次执行A、B、C
1.4 然后在Command line中输入“clean package”, 然后点击绿色的三角图标运行。如下图所示:
1.5 打包成功,如下图所示
vspringboot部署CentOS
2.1 文件传输至CentOS服务器。
如果FileZilla连接centos有问题的,可以看看《CentOS安装FTP服务》。
2.2 到达jar包放置的位置,执行: java -jar zuche-0.0.1-SNAPSHOT.jar
如果需要配置端口号的话,就在后面加上java -jar zuche-0.0.1-SNAPSHOT.jar --server.port=80
如上图,表示部署成功。
2.3 在客户端电脑打开浏览器输入地址 http://10.168.11.106:8080/index 没有配置端口的话,就是默认的。
OK,得到的效果与《详解intellij idea搭建SpringBoot》演示的本地效果一致。
2.4 需要注意的是,如果在上面部署了80端口的jar包应用,下次再部署的时候会提示80端口被占用。
错误信息:ERROR 48608 --- [ main] o.apache.catalina.core.StandardService : Failed to start connector [Connector[HTTP/1.1-80]]
查看80端口号是否在使用中lsof -i:80
找到进程号35986 ps 35986
杀掉进程kill -9 35986
linux命令行本地访问部署tomcat目录curl -i localhost:8080
v相关常用命令
3.1 查看Tomcat的目录 sudo find / -name *tomcat*
root权限下,从根目录递归式查找名称中包含tomcat字段的文件名称,也许会出来好多,但是也应该能够定位到Tomcat的位置了。
如果万一不能很确定目录是否是Tomcat目录的话,可以找可能是Tomcat的目录,然后ls
看看目录内的结构。
3.2 查看运行时的实时日志 tail -f catalina.out
3.2.1 tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. Ctrl+c 是退出tail命令。
3.2.2 格式:tail[必要参数][选择参数][文件]
3.2.3 功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
3.2.4 参数:
3.2.5 示例,显示文件末尾最后5行内容 tail -n 5 catalina.2018-10-07.log
3.3 查看端口信息netstat -tln
3.4 查看Tomcat进程信息ps -ef|grep tomcat
3.5 查看当前的工作目录(pwd:print working directory)pwd
3.6 windows查看Tomcat端口 netstat -ano|findstr 8080
3.7 Linux更改网络IP
3.7.1 进入网络配置目录 cd /etc/sysconfig/network-scripts
3.7.2 编辑配置文件 vim ifcfg-ens33
保证服务器(虚拟机)和本机在同一个IP段。重要重要重要!!!
v博客总结
从《CentOS安装FTP服务》, 到 《CentOS安装Java JDK》 到 《CentOS安装Tomcat》 到 到 《详解intellij idea搭建SpringBoot》 《SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1》。
通过IntelliJ IDEA打包spring boot工程再部署到CentOS服务器,从0到1全部讲完了。
作 者:请叫我头头哥
出 处:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1的更多相关文章
- SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档
Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...
- SpringBoot入门教程(二十一)IntelliJ IDEA配置Quartz启动项
本地运行:
- SpringBoot进阶教程(二十九)整合Redis 发布订阅
SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...
- SpringBoot入门教程(三)通过properties实现多个数据库环境自动切换配置
前面的文章已经介绍了CentOS部署SpringBoot项目从0到1的详细过程,包括Linux安装ftp.Tomcat以及Java jdk的全部过程.这篇文章主要介绍关于springboot如何通过多 ...
- SpringBoot入门(二)——起步依赖
本文来自网易云社区 在前一篇我们通过简单几步操作就生成了一个可以直接运行的Web程序,这是因为SpringBoot代替我们做了许多工作,概括来讲可以分为起步依赖和自动配置.这一篇先来看看起步依赖. 项 ...
- SpringBoot启动方式讲解和部署war项目到tomcat9
1.SpringBoot启动方式讲解和部署war项目到tomcat9简介:SpringBoot常见启动方式讲解和部署war项目Tomcat 1.ide启动 2.jar包方式启动 maven插件: &l ...
- centos部署vue项目
参考链接 nodejs服务器部署教程二,把vue项目部署到线上 打包 #在本地使用以下命令,打包 npm run build #打包之后本地会出现dist文件夹.将dist文件夹以及package.j ...
- 无废话ExtJs 入门教程二十一[继承:Extend]
无废话ExtJs 入门教程二十一[继承:Extend] extjs技术交流,欢迎加群(201926085) 在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题等属性.而这些属性可以通过“继承” ...
- 无废话ExtJs 入门教程二十[数据交互:AJAX]
无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...
随机推荐
- vs2013下配置x64版c++
最近在ddctf的比赛遇到了x64版的逆向,一大堆寄存器调试的头昏,然后比赛结束后在自己电脑上配置下x64版的c++环境记录下: 首先我们需要新建项目不再废话,然后选择:debug->配置管理器 ...
- 【spring】-- springboot配置全局异常处理器
一.为什么要使用全局异常处理器? 什么是全局异常处理器? 就是把错误异常统一处理的方法. 应用场景: 1.当你使用jsr303参数校验器,如果参数校验不通过会抛异常,而且无法使用try-catch语句 ...
- ajax 文件下载
作为一个后端开发人员,使用java 生成文件,提供前端下载,这个问题倒不大,可是让我们自己去下载文件的时候,这个问题就大了,对不起,我只对前端一知半解,并不精通,谢谢!! 需求如下:前端检索数据,后台 ...
- js 模拟form表单post提交
var generateHideElement = function (name, value) { var tempInput = document.createElement("inpu ...
- [CSAcademy]Find the Tree
[CSAcademy]Find the Tree 题目大意: 交互题. 有一棵\(n(n\le2000)\)个结点的树,但是你并不知道树的形态.你可以调用\({\rm query}(x,y,z)\)( ...
- 为什么目前无法再docker for windows中调用GPU
本随笔记载与2019年1月23日,若随着技术发展,本随笔记录的困难被攻克也是可能的. 参考(https://www.reddit.com/r/docker/comments/86vzna/gpu_ac ...
- Javascript 的变量提升与预解析
一.什么是变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域.变量提升即将变量声明提升到它所在作用域的最开始的部分 二.怎么实现 ...
- Python使用ProtoBuffer
Python使用ProtoBuffer Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储.通信协议等方面. 就可读性而言感 ...
- 关于在centos7 64为引用android so引发的问题修复
背景: 公司有解码的app,解码库位c++编写so动态库. 之前做过一版在调用html5摄像头,然后提取图像进行解码,后面因为图像质量不佳放弃. 最近 因为小程序api有更新 可以获取到相对清晰的图像 ...
- ES8 async/await语法
Async/await的主要益处是可以避免回调地狱(callback hell)问题 Chromium JavaScript引擎 从v5.5开始支持async/await功能,Chromium Jav ...