【java】项目部署liunx服务器的简单步骤

在Linux服务器上部署Java项目通常涉及到一系列步骤,下面是一个基本的部署流程,具体步骤可能会根据项目和服务器环境的不同而有所调整:

1. 准备工作:

1.1 安装Java环境: 在Linux服务器上安装Java运行环境,你可以选择OpenJDK或者Oracle JDK。使用包管理工具如apt(Debian/Ubuntu)、yum(CentOS/RHEL)等安装。

以apt为例 
sudo apt update sudo apt install default-jdk

1.2 上传项目文件: 将Java项目的打包文件(例如JAR或WAR文件)上传到服务器,可以使用FTP、SCP、rsync等工具。

2. 配置环境变量:

2.1 设置JAVA_HOME 编辑~/.bashrc~/.bash_profile文件,添加以下内容,确保JAVA_HOME指向你安装的Java路径。

export JAVA_HOME=/usr/lib/jvm/default-java 
export PATH=$PATH:$JAVA_HOME/bin

然后运行以下命令使修改生效:

source ~/.bashrc

3. 启动项目:

3.1 运行项目: 使用java -jar命令启动Java应用程序。假设你的项目是一个可执行的JAR文件:

java -jar your_project.jar

3.2 后台运行: 如果需要在后台运行项目,可以使用工具如nohup

nohup java -jar your_project.jar > output.log &

4. 配置反向代理(可选):

如果你使用的是Web应用程序(如Spring Boot),可以考虑使用Nginx或Apache等反向代理服务器。

4.1 安装Nginx: 使用包管理工具安装Nginx。

# 以apt为例

sudo apt install nginx

4.2 配置Nginx: 创建一个新的Nginx配置文件,例如/etc/nginx/sites-available/your_project,并创建符号链接:

sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/

编辑配置文件,添加类似以下内容:

server {listen 80;server_name your_domain.com;location / {proxy_pass http://localhost:your_port;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}# 可以添加SSL配置等其他配置
}

重启Nginx使配置生效:

sudo service nginx restart

5. 配置防火墙(可选):

如果你的服务器启用了防火墙,确保相应的端口已打开,例如80(HTTP)或443(HTTPS)。

# 以ufw为例

sudo ufw allow 80

6. 监控和日志:

设置日志文件,确保项目正常运行,并在需要时进行监控。你可以使用工具如systemd来管理Java应用程序的进程。

以上是一个简单的Java项目在Linux服务器上部署的基本步骤。确保在实际部署过程中适配你的项目和服务器环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/608086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP定位应对恶意IP攻击:保护网络安全的新策略

随着网络攻击的日益猖獗,恶意IP攻击成为网络安全领域的一大挑战。传统的安全防护手段在应对此类攻击时显得力不从心。近年来,通过IP定位这一新技术,为应对恶意IP攻击提供了新的解决思路。 IP定位技术通过分析网络流量中的IP地址,能…

如何创建VPC并配置安全组以保护您的阿里云服务器

将您的基础架构放在云上意味着您可以接触到全球的许多人。但是,这也意味着不怀好意的人可以访问您的服务。保护您的云网络非常重要。阿里云提供虚拟专用网络 (VPC),这是一个安全隔离的私有云,将您的弹性计算服务 &…

用Python来制作一个微信聊天机器人

1. 效果展示 通过本地搭建一个flask服务器来接收信息,这里我简单使用展示,就没有对接收的信息进行处理了。 信息接收展示 发送信息展示 这里就直接使用python发送一个post请求即可,可以发送文字或者图片 代码展示 接收信息 #!/usr/bin/e…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-2(4) 质量刚体的在坐标系下运动

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有…

C++的一些书籍整理(个人学习)

UNIX环境高级编程(第三版) UNXI网络编程卷1 网络编程的笔记 收藏 我会了 一堆书 这个仓 数据库连接池原理介绍常用连接池介绍

《More Effective C++》学习

条款1:仔细区别 pointers 和 references 引用应该被初始化,指针可以不被初始化。不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。指针与引用的另一个重要的不同是指针可以被重新赋值…

mac环境桌面版docker错误修改daemon.json配置后,启动失败,一直卡在Docker Engine starting界面的解决方法

如下图:当桌面版docker的配置被错误的修改后,配置修改重启应用时,会一直卡在启动界面 此时需要找到mac下该桌面版docker的配置文件位置,手动修改恢复,然后重启应用。 daemon.json文件一般默认在隐藏文件夹下&#xff0…

SSL证书安装在哪?

安装SSL证书的具体步骤取决于你使用的服务器软件和操作系统。一般来说,SSL证书通常用于加密网站上的数据传输,因此安装过程主要涉及到Web服务器的配置。以下是一般步骤,但请注意这可能因你的具体环境而异。 永久免费SSL证书_永久免费https证…

一天一个设计模式---单例模式

概念 单例模式是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这意味着在应用程序中的任何地方,只能有一个实例存在,而不会创建多个相同类型的实例。 具体内容 单例模式通常包括以下几个要素…

Pytorch种torch.cat与torch.stack的区别

torch.cat 和 torch.stack 是 PyTorch 中用于拼接张量的两个不同的函数,它们的主要区别在于拼接的方式和创建的维度。 torch.cat: 拼接方式: torch.cat 是按照给定的维度(dim 参数)将多个张量沿着该维度拼接。在拼接的…

IntelliJ IDEA编译Maven工程:一步步详解

IntelliJ IDEA编译Maven工程:一步步详解 Apache Maven是一个流行的自动化构建工具,被广泛应用于Java项目的构建管理中。IntelliJ IDEA作为一个功能强大的集成开发环境(IDE),它提供了对Maven工程的天然支持,并能简化构建过程。本文将详细介绍如何在IntelliJ IDEA中编译Ma…

盘点2023 | 工业互联网:聚焦五大功能体系,加速推进新型工业化进程

党的二十大作出了推进新型工业化,加快建设制造强国、网络强国、数字中国的战略部署。“把高质量发展的要求贯穿新型工业化全过程,把建设制造强国同发展数字经济、产业信息化等有机结合,为中国式现代化构筑强大物质技术基础”深刻阐述新型工业…

Unity 利用UGUI之Slider制作进度条

在Unity中使用Slider和Text组件可以制作简单的进度条。 首先在场景中右键->UI->Slider,新建一个Slider组件: 同样方法新建一个Text组件,最终如图: 创建一个进度模拟脚本,Slider_Progressbar.cs using System.C…

PDF 文件操作指南

PDF 文件操作指南 PDF 文件介绍 PDF 是一种便携式文档格式(Portable Document Format)的缩写,是由 Adobe 公司创建的一种用于文档交换的文件格式。PDF 格式的文件可以跨平台、跨操作系统和跨设备进行共享和查看,其最大特点是在不…

【NodeJS学习 day1——引入】

前端核心技术体系 HTMLCSS→JavaScript→Node.js→Webpack→React→Vue→小程序 Node.js是什么? Node.js是一款应用程序,是一款软件,它可以运行JavaScript。 Node.js的作用? 1. 开发服务器应用 用户通过url向服务器发送请求&#…

矿泉水除硝酸盐的方法分析

摘要:饮用水中的硝酸盐污染已成为全球性问题,对人类健康构成威胁。本文将介绍离子交换树脂技术在饮用水除硝酸盐方面的应用与优势,帮助您了解如何有效去除饮用水中的硝酸盐,保障水质安全。 正文: 一、饮用水中硝酸盐…

使用kubesphere的devops部署SpringCloud项目

devops部署SpringCloud项目 环境说明部署流程创建DevOps工程填写流水线信息创建流水线jenkinsfileDockerfiledeploy.yaml 环境说明 已经安装kubesphere的devops组件安装教程可参考官方文档:https://v3-1.docs.kubesphere.io/zh/docs/pluggable-components/devops/ 部署流程 创…

redis 从0到1完整学习 (十六):内存回收之 key 过期处理策略

文章目录 1. 引言2. redis 源码下载3. redisDb 结构体4. Redis 过期 key 的处理策略4.1 惰性删除 (Lazy Expiration)4.2 定期删除 (Active Expire / Periodic Expiration)* 5. 参考 1. 引言 前情提要: 《redis 从0到1完整学习 (一)&#xff…

Lumerical Monitors------frequency domain power monitor 频率域功率监视器

frequency domain power monitor 频率域功率监视器 引言正文引言 这里给大家介绍一下 frequency domain power monitor。 正文 首先,我们可以通过以下方式添加 frequency domain power monitor 到我们的工程文件中: 在 general tab 中,有一个共同的监视器设置 simulati…

python将文件打包为exe经常性的被360软件杀掉问题

在python将程序打包后,发生360会一直将自己打包出来的文件进行清楚,查询资料发生可能是因为调用了os库。 使用pyinstaller打包遇到的问题, The pathlib package is an obsolete backport of a standard library package and is incompatibl…