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 ...
随机推荐
- C++何时需要NEW对象,new和定义对象的区别
C++何时需要NEW对象 一.CString str; 不用new的内存区域是在栈,会自动分配空间,一般在局部变量时使用,函数结束后会自动释放空间, 定义对象就是申明对象(静态) str有系统创建并释 ...
- Little Sub and Isomorphism Sequences ZOJ - 4089
ZOJ - 4089 思路:可以反正 最长重构序列必然符合 此模式 x + { } 与 { } + x 那么 题意转化为了 找两个距离最长的相同的数.eeee 先离散化 然后 ...
- JavaScript处理null、undefined和空值
最近一直在写前端,在使用jquery的ajax请求然后处理返回值的时候,经常会遇到返回值为undefined或者"null"的情况,很是头疼,而返回接口是来自于其他公司的,所以这种 ...
- linux 安装mysql5.7版本
首先准备好mysql5.7.17的安装包,安装包放在 /data/software 目录下 进入到 /usr/local 目录下,解压mysql安装包 命令: cd /usr/local tar ...
- [CF1140C]Playlist
Description: 给你n首歌,每首歌有一个长度\(a_i\)和美丽度\(b_i\) 现在可以选出最多k首,动听值为\(\sum a_i*min_{\sum b_i}\) Hint: \(n \ ...
- Day2----《Pattern Recognition and Machine Learning》Christopher M. Bishop
用一个例子来讲述regression. 采用sin(2*pi*x)加入微弱的正态分布噪声的方式来获得一些数据,然后用多项式模型来进行拟合. 在评价模型的准确性时,采用了误差函数的方式,用根均方误差的方 ...
- mvc 路由配置
1.URL模式 路由系统用一组路由来实现它的功能,这些路由共同组成了应用系统URL架构或方案,这种URL架构是应用程序能够识别并能对之做出响应的一组URL,当处理一个输入 请求时,路由系统的工作是将这 ...
- node07
---恢复内容开始--- 1.SQL基本查询语句 2.子句 1)WHERE 子句 WHERE key=val WHERE key>val WHERE key1>val1 AND key2& ...
- [LeetCode] Find And Replace in String 在字符串中查找和替换
To some string S, we will perform some replacement operations that replace groups of letters with ne ...
- web全套资料 干货满满 各种文章详解
sql注入l MySqlMySQL False注入及技巧总结MySQL 注入攻击与防御sql注入学习总结SQL注入防御与绕过的几种姿势MySQL偏门技巧mysql注入可报错时爆表名.字段名.库名高级S ...