我们将本地开发好的项目部署到远程服务器上,使任何机器都可以通过我们远程服务器的公网ip或者域名加上端口号访问到我们的项目。这里详细的列出每个步骤,并且也列举了在部署过程中常见的问题:

通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。现在讲一下打包成 jar 部署。

一.环境搭建

我们以当下最流行的springboot项目为例,最终打成的是一个jar包, 先clean后package,jar包要在远程服务器上跑起来,环境搭建是第一步,也就是安装jdk环境,至于tomcat的话,springboot自带tomcat,所以不安装也可以;

二.数据库的部署

在本地开发的时候,我们代码里面的数据库连接主机名写的是localhost,之所以这样写了能访问到,那是因为我们的项目和数据库都在我们的本地机器上,所以可以访问到;而如果项目部署到远程服务器上,要访问到数据库,应该先部署数据库,至于数据库连接还能不能写localhost,要分两种情况,如果我们的数据库和项目都部署到了同一台远程服务器上,那可以;如果部署在不同机器上,那显然不行,这种情况的话数据库连接的主机名就需要修改成数据库所部署的那台机器的公网ip或者域名。

这里用到两种方法实现数据库部署到远程服务器:

方法一:Xshell连接远程服务器进行命令行操作

1.将本地的数据库导出成.sql文件
2.在远程服务器中创建一个文件夹,专门存放.sql文件的
3.执行rz命令(前提是安装了lrzsz),将本地的.sql文件上传到远程服务器上该文件夹;也可以使用xftp实现文件传输
4.登录mysql:mysql -u root -p(回车后输入密码)
5.执行.sql文件之前需要先创建对应的数据库

CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

6.选中刚刚创建的数据库之后再执行.sql文件:use 数据库名
7.执行.sql文件:source ***.sql
(注意如果我们是在.sql文件所在的文件夹中执行该命令就不用加路径,否则需要加上.sql文件所在路径)

方法二:本地Navicat连接远程服务器的数据库进行可视化操作

同样是先将本地的数据库导出成.sql文件,下面是部分截图:

基本都是表结构和表数据,可以看到导出来的.sql文件并没有为我们创建数据库,所以在导入.sql文件之前需要先手动创建数据库,并且在我们导出来的.sql文件中添加一行加上我们的数据库。

三.把本地打好的jar包上传到远程服务器

1.当我们已经将数据库部署到远程服务器上,如果数据库和项目部署不在同一台远程服务器上,那么在将项目打成jar包之前需要先修改数据库连接的配置信息,将主机名修改成数据库所部署的那台机器的公网ip或者域名,如果数据库和项目部署在同一台远程服务器上,那么主机名可以继续使用localhost;

2.Xshell连接阿里云远程服务器,并使用xftp将本地的jar包传输到远程服务器上,如果安装了lrzsz就可以直接使用rz命令上传;

3.放行端口号,部署项目成功之后,要能够访问到项目,还应该在阿里云控制台开放对应的端口。

4.启动项目,使用nohup java -jar jar包名 & 命令运行jar包。【注:nohup加上&表示项目可以在后台永久的执行,即使关闭Xshell终端也不会停止运行;如果后面想要停止该项目的运行,可以直接结束该项目端口占用的进程。】

# 通过进程名结束占用端口的进程 killall 进程名
# 通过进程ID结束占用端口的进程 kill 进程ID
# 通过进程ID强制结束占用端口的进程 kill -9 进程ID

以上命令执行之后会提示:nohup: ignoring input and appending output to ‘nohup.out’,这是正常提示,并不是错误,直接打回车就可以。该提示产生的原因是nohup默认会把标准输出重定向到默认文件nohup.out中,也可以自定义该输出文件,例如:nohup java -jar jar包名 >temp.txt & 但是标准错误输出没有重定向到某个文件,所以会有该提示。

 如果想要不输出该提示,省去打回车键的操作,那么可以使用以下命令:nohup java -jar jar包名 2>&1 & 解释:2>&1 是将错误提示信息的输出重定向到标准输出,而这里的标准输出已经重定向到默认文件nohup.out中,也就是说标准的错误提示也直接输出到nohup.out中,所以就没有提示了,也就不用再打回车了。

Java项目部署到远程服务器(详细步骤)相关推荐

  1. Java项目部署到云服务器的思路

    Java项目部署到云服务器的思路 1 部署项目的前提条件 1.1 购买云服务器 我购买的是腾讯云的服务器,第一年享优惠88一年 cpu好像两核的,作为入门级的也算够用了 如果第二年该续费的时候,我记得 ...

  2. Maven插件wagon-maven-plugin自动化部署Java项目到Linux远程服务器

    通常情况下,程序开发完成后部署到线上Linux服务器,可能需要经历打包.将包文件传到服务器.SSH连上服务器.敲命令启动程序等一系列繁琐的步骤.实际上这些步骤都可以通过Maven的一个插件wagon- ...

  3. javaWeb项目部署到远程服务器(windows服务器)

    这段时间实训做了一个网上订餐的项目,也闲来无事就想着把项目部到服务器上,下面是我的部署过程和遇到的一些问题,因为服务器是刚租的所以云服务器上啥也没有. 布置web项目所以还是离不开 Web 项目部署的 ...

  4. 将node项目部署到云服务器详细教程 原创

    前言: 需要有node项目,并且能在本地服务器成功运行成功 一.购买云服务器 云服务器种类很多,价格都差不多,我这里购买的是ecs计算型云服务器,配置2核4G5M的配置基本就可以运行项目. 服务器购买 ...

  5. xshell将项目部署到远程服务器上

    使用xshell部署Tomcat项目 Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.Xshell 通过互联网 ...

  6. 运用Nginx代理和UWSGI将Flask项目部署在Linux中 详细步骤

    nginx: 安装可以参照的路径:   http://nginx.org/en/linux_packages.html#Ubuntu 启动Nginx nginx [ -c configpath] 默认 ...

  7. java项目部署到LIINUX

    天领导给个任务,把java项目部署到liunx服务器上.现记录步骤,方便以后查看. 项目部署服务器步骤: 服务器信息: 弹性IP地址:xx.xx.xxx.xx 账号:root 密码:cjw@100 数 ...

  8. 如何将node项目部署到云服务器 从0开始详细步骤

    前言 记录一下将node项目部署到云服务器的详细步骤 先确保自己的node后台能在本地服务器运行 一.购买云服务器以及配置 这里我用的腾讯云的轻量应用服务器 针对新用户首单这里有个一折链接(便宜的一年 ...

  9. 项目部署到Linux服务器上 (全)linux服务器安装java mysql 配置

    项目部署到Linux服务器上 (全) 1.服务器准备 首先你需要购买一台云服务器 我是领取的阿里云的服务器 选择linux系统 设置好 服务器的密码 忘记可以在 控制台首页 云服务器ECS 里面找到购 ...

  10. Web项目部署阿里云服务器全过程——详细篇

    最近学习了Web开发前后端等技术,便想着将项目部署到云服务器,方便后续管理,顺便学习一下部署云服务器的过程. 购买与连接云服务器 部署云服务器,首先需要的便是购买云服务器,这里我选择的是阿里云服务器, ...

最新文章

  1. 提升jmeter自身性能
  2. centos 5.0 编译安装apache 2.2.6+php5.2.5+mysql5.0.46+ZEND
  3. spring依赖注入_Spring3:类型安全依赖项注入
  4. Leecode 136. 只出现一次的数字
  5. Spring Boot 1:Introduction
  6. 2017.9.30 CF #R4 D 思考记录
  7. 简单的事情搞复杂:挂个版本到网站,拖了几个月还没做
  8. Excel如何制作直方图与正态分布曲线
  9. 清明节出行客流 人山人海
  10. meta http-equiv=“X-UA-Compatible“ content=““ 的作用
  11. 【最新损失函数SIOU全文翻译】超越YOLO-V5等先进模型提高了+3.6%
  12. 【ACCV2022】论文阅读笔记Lightweight Alpha Matting Network Using Distillation-Based Channel Pruning
  13. 【已解决】MATLAB未定义函数或变量 ‘wavread‘,以及audioread,audiowrite,wavwrite
  14. 一些有趣的鸽巢原理的题目
  15. TI电量计--BQ34Z100踩坑总结
  16. cuda相关的dockerfile build时异常处理
  17. linux命令后台执行方式
  18. 大数据未来产业的爆发,主要会集中在哪几个方面?
  19. iphone app安装操作说明
  20. Java顺序结构之数学函数

热门文章

  1. STM32 rtc唤醒 低功耗待机模式 避免iwdog看门狗方案
  2. matlab解反应扩散方程,反应扩散方程Matlab编程
  3. 计算机软考初级题库,‎App Store 上的“软考题库-最全最新历年真题”
  4. 暴力裁员绝症员工,网易刚刚道歉!丁磊沉默,刘强东意外刷屏:说了这句硬气的话……
  5. 关于2019中国移动广西分公司社会招聘互联网电视维护岗位笔试、面试经验分享
  6. 论文 查重 知网 万方 paperpass
  7. 利用python requests库在百度图库上下载图片
  8. 设计模式在项目中的应用案例_三菱PLC实际项目应用案例讲解
  9. 露天停车场的matlab代码,室外停车场设计规范 · 干货
  10. 计算机软件服务的财务制度,餐饮业财务管理制度流程