在之前的博文《详解intellij idea搭建SpringBoot》介绍了idea搭建SpringBoot的详细过程, 并在《CentOS安装Tomcat》中介绍了Tomcat的安装,前面几篇文章实际上已经充分准备好了部署Linux的必要条件。那么今天来看看如何在CentOS部署SpringBoot,让你的SpringBoot在服务器上跑起来。

vLinux部署springboot

从0到1,5步走,在Linux Tomcat部署springboot:

1. 《CentOS安装FTP服务》

2. 《CentOS安装Java JDK》

3. 《CentOS安装Tomcat》

4. 《详解intellij idea搭建SpringBoot》

5. 《SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1》

vIntelliJ IDEA打包

1.1 设置packaging jar 如下图:

1.2 编译插件, 如果是按照《详解intellij idea搭建SpringBoot》建立的springboot模板则可跳过此步骤

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. </plugin>
  7. </plugins>
  8. </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 参数:

-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

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的更多相关文章

  1. SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档

    Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...

  2. SpringBoot入门教程(二十一)IntelliJ IDEA配置Quartz启动项

    本地运行:

  3. SpringBoot进阶教程(二十九)整合Redis 发布订阅

    SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...

  4. SpringBoot入门教程(三)通过properties实现多个数据库环境自动切换配置

    前面的文章已经介绍了CentOS部署SpringBoot项目从0到1的详细过程,包括Linux安装ftp.Tomcat以及Java jdk的全部过程.这篇文章主要介绍关于springboot如何通过多 ...

  5. SpringBoot入门(二)——起步依赖

    本文来自网易云社区 在前一篇我们通过简单几步操作就生成了一个可以直接运行的Web程序,这是因为SpringBoot代替我们做了许多工作,概括来讲可以分为起步依赖和自动配置.这一篇先来看看起步依赖. 项 ...

  6. SpringBoot启动方式讲解和部署war项目到tomcat9

    1.SpringBoot启动方式讲解和部署war项目到tomcat9简介:SpringBoot常见启动方式讲解和部署war项目Tomcat 1.ide启动 2.jar包方式启动 maven插件: &l ...

  7. centos部署vue项目

    参考链接 nodejs服务器部署教程二,把vue项目部署到线上 打包 #在本地使用以下命令,打包 npm run build #打包之后本地会出现dist文件夹.将dist文件夹以及package.j ...

  8. 无废话ExtJs 入门教程二十一[继承:Extend]

    无废话ExtJs 入门教程二十一[继承:Extend] extjs技术交流,欢迎加群(201926085) 在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题等属性.而这些属性可以通过“继承” ...

  9. 无废话ExtJs 入门教程二十[数据交互:AJAX]

    无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...

随机推荐

  1. C++何时需要NEW对象,new和定义对象的区别

    C++何时需要NEW对象 一.CString str; 不用new的内存区域是在栈,会自动分配空间,一般在局部变量时使用,函数结束后会自动释放空间, 定义对象就是申明对象(静态) str有系统创建并释 ...

  2. Little Sub and Isomorphism Sequences ZOJ - 4089

    ZOJ - 4089 思路:可以反正 最长重构序列必然符合  此模式 x  +  {   }  与  {   }  +  x 那么 题意转化为了  找两个距离最长的相同的数.eeee 先离散化 然后 ...

  3. JavaScript处理null、undefined和空值

    最近一直在写前端,在使用jquery的ajax请求然后处理返回值的时候,经常会遇到返回值为undefined或者"null"的情况,很是头疼,而返回接口是来自于其他公司的,所以这种 ...

  4. linux 安装mysql5.7版本

    首先准备好mysql5.7.17的安装包,安装包放在  /data/software 目录下 进入到 /usr/local 目录下,解压mysql安装包 命令:   cd /usr/local tar ...

  5. [CF1140C]Playlist

    Description: 给你n首歌,每首歌有一个长度\(a_i\)和美丽度\(b_i\) 现在可以选出最多k首,动听值为\(\sum a_i*min_{\sum b_i}\) Hint: \(n \ ...

  6. Day2----《Pattern Recognition and Machine Learning》Christopher M. Bishop

    用一个例子来讲述regression. 采用sin(2*pi*x)加入微弱的正态分布噪声的方式来获得一些数据,然后用多项式模型来进行拟合. 在评价模型的准确性时,采用了误差函数的方式,用根均方误差的方 ...

  7. mvc 路由配置

    1.URL模式 路由系统用一组路由来实现它的功能,这些路由共同组成了应用系统URL架构或方案,这种URL架构是应用程序能够识别并能对之做出响应的一组URL,当处理一个输入 请求时,路由系统的工作是将这 ...

  8. node07

    ---恢复内容开始--- 1.SQL基本查询语句 2.子句 1)WHERE 子句 WHERE key=val WHERE key>val WHERE key1>val1 AND key2& ...

  9. [LeetCode] Find And Replace in String 在字符串中查找和替换

    To some string S, we will perform some replacement operations that replace groups of letters with ne ...

  10. web全套资料 干货满满 各种文章详解

    sql注入l MySqlMySQL False注入及技巧总结MySQL 注入攻击与防御sql注入学习总结SQL注入防御与绕过的几种姿势MySQL偏门技巧mysql注入可报错时爆表名.字段名.库名高级S ...