打开sftp步骤, 在显示的已连接的窗口上右键, 选择connect SFTP Session就可以打开文件上传的窗口

从windows上传文件到linux, 首先linux需要先切换到想要保存文件的目录下, 然后在找到windows中文件所在的目录, 最后使用 put 命令就能上传上去了

第一步: 使用 ls 命令查看linux当前目录下的目录

第二步: 使用 cd 命令进入linux保存上传文件的目录

第三步:找到linux中保存文件的具体目录  (如果没有二级目录, 可以省略)

第四步: 使用 lcd 命令切换windows下的目录  (linux跟windows的命令操作的区别是: 在linux命令前加上小写的 l  (不是大写的 i,不是大写的 i,不是大写的 i)  就是操作windows的命令)

第五步: 切换到windows目录下后, 使用 lls 查看目录下有哪些文件

第六步: 使用 put  文件名    命令上传文件到linux目录下, 保存目录就是一开始切换到的目录

第七步: 使用 linux 的 ls 命令查看是否上传成功

总的来说, 就是使用 lcd 切换到安装包所在的目录, 然后使用 cd 命令切换到要安装的目录,  然后使用 put  包名    就可以上传到linux中了

接下来, 解压安装包, 使用 tar -zvxf 压缩包  解压到当前目录

解压jdk后需要配置环境变量

先将目录切换到jdk后的文件目录, 使用 pwd 命令查看解压后的jdk的完整路径, 这个路径在后面的环境变量中需要使用

使用 vi  /etc/profile   命令, 修改系统环境变量  (进去编辑器后, 点击 i 进去编辑模式, 然后输入环境变量后, 使用按下 esc 键 退出, 然后直接输入 :wq 保存并退出即可)

在文件的最后加上

#set java environment
JAVA_HOME= /xx/xx/jdk1.8 这里是上面使用 pwd 查出的路径
PATH=$PATH:$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

使用 source /etc/profile 命令, 从新加载, 使其生效, 生效后使用java -version查看是否成功  (不成功使用 cat /etc/profile 命令查看系统环境是否添加了jdk路径, 添加的路径是否有错)

测试tomcat是否可用

首先linux下切换到tomcat的bin目录下, 使用命令 ./startup.sh 启动tomcat   (关闭tomcat使用  ./shutdown.sh)

然后需要关闭防火墙, 这样才能实现外部访问 (开启防火墙使用 systemctl start firewalld 命令

最后打开浏览器, 输入   服务器地址:8080  (tomcat默认端口是8080)

部署项目到linux上

在本地将项目打成war包

我的项目是SpringBoot项目

这里说下遇到一个坑:

在SpringBoot的启动类中需要继承SpringBootServletInitializer ,并重写configure方法, 这样在tomcat的日志中才会有项目加载日志出来,项目才能启动成功, 不然会出现访问页面可以, 访问方法报404错误,因为项目没有启动成功

package mobi.weiapp.cms;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer; /**
* war打包时指定启动类
*/
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
return application.sources(CmsApplication.class);
}
}

,使用maven打包, 需要在pom文件中修改打包方式, 使用war包

然后,先clear一下, 在使用package打包

在项目中会有个target文件, 这里就有打包好的war包

接下来部署到tomcat中

将war包上传到tomcat的webapps下, 这里说一个技巧, 可以在没上传前将war包 名改成ROOT.war, 将tomcat中的ROOT文件夹删除( rm -rf ROOT ), 这样的好处是: tomcat自动解压war包, 会生成一个ROOT文件夹, 里面就是我们的项目, 启动tomcat后, 在浏览器中访问项目就不用在端口号后面添加war包名了, 还有个好处就是后台接口也不用在请求前面加上war包名, 不会出现404错误

部署后的结果就是

切换到tomcat目录下的logs目录下, 使用 tail -f catalina.out 命令可以打印日志

然后重新开一个窗口, 切换到tomcat的bin目录下, 启动tomcat, 在浏览器中输入  服务器ip:8080(默认)/xx.html就可以访问项目了

假设我的服务器ip是: 172.168.16.16, 我的项目首页是login.html  那么我的请求地址就是  172.168.16.16:8080/login.html

至此, 一个SpringBoot项目部署成功

linux上部署SpringBoot项目及遇到的问题的更多相关文章

  1. linux上部署springboot项目

    1.安装jdk,请参考个人博客linux安装jdk 2.安装mysql,请参考个人博客 linux安装mysql 3.项目打包(使用idea) 打开项目,点击idea右边Maven Projects菜 ...

  2. 在Linux上部署Web项目

    You believe it or not there is a feeling, lifetime all not lost to time. 在Linux上部署Web项目 这个是普通的web项目, ...

  3. linux服务器上部署springboot项目,并让他持续运行到后台

    我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...

  4. Linux下部署springboot项目的步骤及过程

    最近在研究将springboot项目部署到Linux服务器上,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上.我是在idea上的项目,所以我就基于此说下过程. (一 ...

  5. 如何在阿里云linux上部署java项目

      前2天把git练了下,敲了很多命令,也借助图形界面增强自己的理解,乘着余热把linux在熟悉下.然后想起以前婷主有让我帮忙搭建的阿里云服务器,所以就想自己试着在阿里云的linux上搭建自己的jav ...

  6. 使用idea在linux上启动springboot项目

    springboot项目启动方式 1.改成war包放到tomcat上,网上方法很多不再介绍. 2.直接用jar包启动,比较方便,不需要修改项目文件,推荐使用jar包起 将项目和package打成jar ...

  7. linux上部署javaWeb项目

    将web项目打成war包,上传到Linux操作系统tomcat安装目录下的webapps下即可!

  8. 在linux裸机部署springBoot项目

    一.项目创建及打包 创建项目,打jar包 二.安装JDK 1.在/usr目录下床架java文件夹,将 2.下载jdk8,并上传linux服务器(/usr/java) 下载地址:https://www. ...

  9. Linux上的常用命令(含在Linux上部署springboot工程所要用到的命令)

    日常使用命令: 开关机:(shutdown命令的时间参数似乎是一定要的) shutdown -h now ——h的意思就是服务停掉之后立即关系,shutdown命令的时间参数是必须要的,now相当于是 ...

随机推荐

  1. Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 开始 本篇文章结束在本地创建完成镜像后, ...

  2. 转:VB中的API详解

    在接下来的这篇文章中,我将向大家介绍.NET中的线程API,怎么样用C#创建线程,启动和停止线程,设置优先级和状态. 在.NET中编写的程序将被自动的分配一个线程.让我们来看看用C#编程语言创建线程并 ...

  3. [面试]中高级测试工程师必备,月薪15K+

    1.你的测试职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去.而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求 ...

  4. Root(hdu5777+扩展欧几里得+原根)2015 Multi-University Training Contest 7

    Root Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Su ...

  5. Codeforces Round #309 (Div. 2)

    A. Kyoya and Photobooks Kyoya Ootori is selling photobooks of the Ouran High School Host Club. He ha ...

  6. 8张图让你一步步看清 async/await 和 promise 的执行顺序

    摘要: 面试必问 原文:8张图帮你一步步看清 async/await 和 promise 的执行顺序 作者:ziwei3749 Fundebug经授权转载,版权归原作者所有. 为什么写这篇文章? 说实 ...

  7. loj#2483. 「CEOI2017」Building Bridges(dp cdq 凸包)

    题意 题目链接 Sol \[f[i], f[j] + (h[i] - h[j])^2 + (w[i - 1] - w[j]))\] 然后直接套路斜率优化,发现\(k, x\)都不单调 写个cdq就过了 ...

  8. Synchronized 和 Lock 锁在JVM中的实现原理以及代码解析

    一.深入JVM锁机制:synchronized synrhronized关键字简洁.清晰.语义明确,因此即使有了Lock接口,使用的还是非常广泛.其应用层的语义是可以把任何一个非null对象作为&qu ...

  9. Android为TV端助力 doc里面adb连接出现问题的解决方法

    第一保证连接的两边都是有网的 第二  就是网上常说的1.adb kill-server 2.adb start-server 3.adb remount 但是在运行adb remount有可能会提示 ...

  10. java StringBuffer读写文件

    java StringBuffer读写文件 StringBuffer的优势 较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大.而StringBuffer ...