如何一键部署本地Java项目到服务器上

这篇具有很好参考价值的文章主要介绍了如何一键部署本地Java项目到服务器上。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

我开发了一个Java代码,现在想部署到服务器上,当然可以使用Jenkins部署,但是Jenkins配置和维护成本比较高,所以我今天分享的是轻量级的一键部署脚本

演示:本地Window的Java代码 -> Vmware虚拟机Centos7上

二、我的项目结构

如果你的项目结构不同,可以根据项目结构自行调整

如何一键部署本地Java项目到服务器上,电商下单并发研究,java,开发语言,centos

三、操作步骤

1、对项目进行Maven编译

这里要注意你的脚本位置在哪里,我的脚本位置在项目的doc/script 目录下,所以执行下面之前,需要执行 cd ../../ 跳转到项目的根目录

# 跳转到项目根目录
cd ../../

mvn clean package -DskipTests=true

2、部署到远程服务器

这里使用scp命令,当然首次执行会需要验证,我们只需要正确的填写登录的用户名密码即可

# 部署到远程服务器
scp user-center/target/user-center-0.0.1-SNAPSHOT.jar root@192.168.31.113:/usr/local/user-center.jar

如何一键部署本地Java项目到服务器上,电商下单并发研究,java,开发语言,centos

这一步是要输入密码

如何一键部署本地Java项目到服务器上,电商下单并发研究,java,开发语言,centos

然后输入服务器的root密码,然后按回车,jar包文件就同步到服务器上了,如果需要跳过输入密码这一步,可以看下面的免密登录ssh

如何一键部署本地Java项目到服务器上,电商下单并发研究,java,开发语言,centos

之后我们去服务器中看看,文件的确已经上传到服务器上了

如何一键部署本地Java项目到服务器上,电商下单并发研究,java,开发语言,centos

3、生成免密登录的SSH

a. 本机Window执行(如果已经生成过了就跳过这一步)

ssh-keygen -t rsa

b. 第二步在服务器的root目录下创建.ssh 文件夹(如果已经生成过了就跳过这一步)

mkdir .ssh

c 第三步把Window上的id_rsa.pub 内容拷贝到/root/.ssh/authorized_keys 中

这一步千万要注意,不是把这个id_rsa.pub 文件拷贝到/root/.ssh/authorized_keys 这个目录

authorized_keys 是一个文件!!!

authorized_keys 是一个文件!!!

authorized_keys 是一个文件!!!

重要的事情说3遍

d 第四步 修改authorized_keys 文件的执行权限

chmod 700 authorized_keys

e 第五步 重启sshd应用

systemctl restart sshd

4、编写服务器端Java的启动脚本

这里我直接上代码了,大概意思,先找到原先已经运行的user-center项目,kill 掉,再执行启动命令,等7秒钟之后,再检查一下程序是否正常启动文章来源地址https://www.toymoban.com/news/detail-809271.html

pid=$(ps -ef | grep user-center | grep -v grep | awk '{print $2}')

if [ ! -z "$pid" ]; then
  echo "当前运行user-center服务的pid是: ${pid}"
  kill -9 ${pid}
  echo -e "已结束当前user-center服务~\n"
else
  echo -e "目前未运行user-center服务!\n"
fi

nohup java -jar -XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -Xmn200m -Xss256k -Dspring.profiles.active=test user-center.jar >out.log 2>&1 &

sleep 7

pid=$(ps -ef | grep user-center | grep -v grep | awk '{print $2}')
if [ ! -z "$pid" ]; then
  echo "user-center启动成功, pid是: ${pid}"
else
  echo -e "user-center启动失败!\n"
fi

5、完整的本地端脚本如下

#!/bin/bash

cd ../../
mvn clean package -DskipTests=true

# 进入目录
cd ../../
# 部署到远程服务器
scp goods-center/target/goods-center-0.0.1-SNAPSHOT.jar root@192.168.31.112:/usr/local/goods-center.jar

# 登录远程机器
ssh root@192.168.31.112 "cd /usr/local && sh restart_goods_center.sh"


# 部署到远程服务器
scp user-center/target/user-center-0.0.1-SNAPSHOT.jar root@192.168.31.113:/usr/local/user-center.jar

# 登录远程机器
ssh root@192.168.31.113 "cd /usr/local && sh restart_user_center.sh"

到了这里,关于如何一键部署本地Java项目到服务器上的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 保姆级!如何在Window Server服务器上用tomcat部署java web项目

    首先,打开idae软件(我项目用的idea,也可以其他)导入你的项目,然后运行项目,确保项目能在localhost:8080,即在本地上运行。 确保能在本地上运行,且项目所有的已实现的功能没有bug,多测试几次。 然后打包项目,在打包前,看看数据库的.sql文件放在哪个位置(如果有的

    2024年02月06日
    浏览(52)
  • Docker 部署本地爬虫项目到服务器

    笔记:一直想写一篇博客的,那就趁着周末闲暇时光记录一下。 目录 一、前提准备 二、Docker部署爬虫示例 整体梳理 1、打包构建本地项目镜像 2、在 hub 网站上 创建一个仓库。 3、将本地镜像与hub上的仓库打上标签 4、确保已登录 Dockerhub 账号 5、推送镜像到 Dockerhub 仓库中

    2024年02月03日
    浏览(55)
  • 如何用个人电脑搭建一台本地服务器,并部署项目到服务器详细教程

    服务器是一种高性能计算机,作为网络的节点,它存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。与普通计算机相比,服务器具有高速CPU运算能力、长时间可靠运行、强大I/O外部数据吞吐能力以及更好的扩展性。 服务器的主要用途广泛,包括: 网站托管 :服

    2024年04月29日
    浏览(88)
  • vue项目本地开发完成后部署到服务器后报404

    前后端分离开发模式下,前后端是独立布署的,前端只需要将最后的构建物上传至目标服务器的 web 容器指定的静态目录下即可 我们知道 vue 项目在构建后,是生成一系列的静态文件 常规布署我们只需要将这个目录上传至目标服务器即可 让 web 容器跑起来,以 nginx 为例 配置

    2024年02月05日
    浏览(56)
  • 使用IDEA部署Web项目到本地的Tomcat服务器

    1.1 Tomcat下载与安装启动 下载地址:http://tomcat.apache.org/ (左侧Download选择下载版本) 1.1.1 安装: 1、下载好了解压到一个没有特殊符号的目录中(一般纯英文即可) 2、进入到解压的目录下找到binstartup.bat双击启动即可 tomcat需要配置JAVA_HOME环境变量,不要把bin目录也配置到JAVA

    2024年02月13日
    浏览(54)
  • JavaWeb项目部署到服务器并连接本地数据库(超详细!)

    目录 一、下载XShell、Xftp工具 二 、建立服务器连接 三、服务器环境配置 四、打包web项目传输入服务器 五、服务器Web项目连接本地数据库 个人博客欢迎访问 --- 猿客栈 在XShell官网下载两个工具,用来操作服务器的Linux系统 输入服务器的主机名,验证用户和密码,默认用户名

    2024年02月05日
    浏览(46)
  • 通过宝塔辅助部署本地Python爬虫项目到阿里云轻量服务器

    笔记:最近想把本地的一套爬虫项目给搞到服务器上跑跑。 可在本地压缩成zip,手动将压缩包上传到宝塔文件夹,最终要将它解压出来,放到下面图片的路径下。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/35683919ba694d5485ad9b5197549105.png 对于添加python项目这里就不再赘述,详

    2024年02月09日
    浏览(74)
  • asp.net core 项目从本地部署到远程云服务器

    今天向大家详细介绍一下,如何将一个.net core项目部署到远程云服务器,我的服务器镜像为 window server 2019. 1.安装IIS 首先在服务器上安装IIS(我的是最新的iis10),我已经安装完毕,这个安装操作比较简单,自行谷歌。 安装完成后会看到下面的界面: 2.安装web deploy程序 该程序的功能: 它

    2023年04月22日
    浏览(48)
  • 将本地Django项目部署到服务器上(Ubuntu20.04)

    最近因为项目的需求开始正在搭建一个个人网站。在本地完成了项目后端的内容后需要部署到服务器上以供用户访问。因为后端使用的是Django框架,就在网上找了很多有关将Django项目部署到网站上的教程。由于本人在网络这块属于小白,原理了解甚少,在一边参照各种教程一

    2024年02月03日
    浏览(52)
  • 如何本地部署Jellyfin影音服务器并实现在公网访问

    随着移动智能设备的普及,各种各样的使用需求也被开发出来,从最早的移动听音乐、看图片(MP3时代),到之后的移动视频需求(MP4时代)到现在的移动流媒体需求(智能手机看视频)。但当我们习惯这些需求后,忽然发现自己不知不觉间成了待割的韭菜(3台设备就要加钱

    2024年02月06日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包