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

news/2024/12/22 2:29:43/

在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.ppmy.cn/news/1298705.html

相关文章

力扣-42.接雨水

题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组[0,1,0,2…

Unity Editor实用功能:Hierarchy面板的对象上绘制按按钮并响应

目录 需求描述上代码打个赏吧 需求描述 现在有这样一个需求: 在Hierarchy面板的对象上绘制按钮点击按钮,弹出菜单再点击菜单项目响应自定义操作在这里的响应主要是复制对象层级路路径 看具体效果请看动图: 注: 核心是对Edito…

Linux环境vscode clang-format格式化:vscode clang format command is not available亲测有效!

问题现象 vscode安装了clang-format插件,但是使用就报错 问题原因 设置中配置的clang-format插件工具路径不正确。 解决方案-亲测有效! 确认本地安装了clang-format工具:终端输入clang-format(也可能是clang-format-13等版本…

每天刷两道题——第十一天

1.1滑动窗口最大值 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 输入:nums [1,3,-1,-3,5,3,6,7], k 3 输出&…

部分城市公交站点数据,Shp+excel格式数据,2020年,几何类型为点

随着城市的发展和人口的增长,公共交通成为了人们出行的重要方式之一。而公交站点作为公共交通的重要组成部分,其数据信息的获取和分析对于城市规划和管理具有重要意义。 今天来分享一下部分城市公交站点数据: 首先先了解下该数据的基本信息 …

科技创新创业

科技创新创业是一个涉及多个方面的过程,主要包括以下几个方面: 创意产生:创业的起始点通常是一个新的创意或想法,这可能是一个新的产品、服务或技术的概念。这个创意需要独特且具有商业潜力。市场调研:一旦有了创意&a…

海外代理IP在游戏中有什么作用?

随着科技的飞速发展,手机和电脑等电子产品已成为互联网连接万物的重要工具,深度融入我们的日常生活,我们借助互联网完成工作、休闲和购物等任务,以求提升生活质量。 不仅如此,网络游戏也是人们心中最爱,它…

FineBI实战项目一(3):Kettle实现ETL到数据仓库

目前,finebi_shop_bi 中是没有任何数据的,是一个空的数据库。而后续我们的所有数据分析都将在该数据库中进行。我们第一件事情就是要将 「finebi_shop」数据库中的所有表抽取到「finebi_shop_bi」数据库中。要抽取并装载数据到「finebi_shop_bi」中&…