欢迎光临
我们一直在努力

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

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

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

一.环境搭建

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

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

二.数据库的部署

在本地开发的时候,我们代码里面的数据库连接主机名写的是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文件,下面是部分截图:

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

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

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

三.把本地打好的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 & 但是标准错误输出没有重定向到某个文件,所以会有该提示。

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

原文链接:https://blog.csdn.net/qq_41595452/article/details/120654855?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166937964916782425627944%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166937964916782425627944&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-26-120654855-null-null.nonecase&utm_term=%E6%9C%8D%E5%8A%A1%E5%99%A8

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Java项目部署到远程服务器(详细步骤)》
文章链接:https://www.456zj.com/35155.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址