java系统部署到Linux

本文详细介绍了如何安装Java1.8JDK,包括卸载OpenJDK、配置环境变量,以及使用Supervisor管理和自定义Systemd服务来启动、监控Java应用。同时对比了Supervisor的易用性和Systemd的集成度及定制性。
摘要由CSDN通过智能技术生成

1、安装java 1.8JDK

卸载Open JDK

首先,我们先检查系统是否自带了 JDK。输入命令

java -verison

在这里插入图片描述
批量删除

rpm -qa | grep java | xargs rpm -e --nodeps

下载并安装JDK

我们在 user 目录下建立一个新的 java文件夹,用来存放 JDK文件。
在这里插入图片描述
jdk下载地址
在这里插入图片描述
上传到服务器后,执行解压命令

// tar包进行解压
tar -zxvf jdk-8u401-linux-x64.tar.gz

环境变量配置

如果/etc/profile文件不可编辑,我们需要先修改其为可编辑才行

sudo chmod -v u+w /etc/profile

vim编辑器来进行编辑。输入命令

vim /etc/profile

添加如下配置

# java
export JAVA_HOME=/usr/java/jdk1.8.0_401
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

配置添加完成后,按 “Esc”键,输入 “:wq”,就可以保存文件并返回了

重新编译

source /etc/profile

测试是否安装成功

java
javac
java -version

jdk安装参考里面附带了Oracle账号

2、system 服务管理 Java 应用程序

创建服务单元文件

在 /etc/systemd/system 目录下创建一个以 .service 为后缀的文件,例如spring-boot.service。

vim /etc/systemd/system/spring-boot.service
chmod 777 /etc/systemd/system/spring-boot.service

/usr/lib/systemd/system/spring-boot.service

编辑服务单元文件

[Unit]
Description=spring-boot-demo
After=syslog.target

[Service]
User=root
ExecStart=/usr/java/jdk1.8.0_401/bin/java -jar /data/java/spring-boot/spring-boot-admin.jar
WorkingDirectory=/data/java/spring-boot
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target

对应解释

[Unit] 部分:

Description=spring-boot:描述了这个服务的简短描述,即服务的名称。
After=syslog.target:指定了在启动这个服务之前,需要等待 syslog.target 目标完成启动。
[Service] 部分:

User=root:指定了这个服务运行的用户,这里是 root 用户。
ExecStart=java -jar /data/java/spring-boot/spring-admin.jar:指定了服务启动时要执行的命令,这里是启动一个Java应用程序,运行在 /data/java/spring-boot/spring-admin.jar 文件上。
WorkingDirectory=/data/java/spring-boot:指定了服务的工作目录,这是执行命令时的当前目录。
Restart=always:指定了服务的重启策略,即当服务意外退出时,总是自动重启。
RestartSec=10:指定了服务在意外退出后重新启动的延迟时间,这里是10秒。
StandardOutput=syslog:指定了服务的标准输出重定向到 syslog。这意味着服务的输出将会被记录到系统日志中。
StandardError=syslog:指定了服务的标准错误输出重定向到 syslog。
[Install] 部分:

此部分为空,因此没有指定服务的安装信息。

ExecStart也可以加一下启动参数等

错误了看日志

状态日志
systemctl status spring-boot.service
正常日志
journalctl 
错误日志
journalctl -xe

重新加载systemd管理器配置

在编辑完成服务单元文件后,运行以下命令来重新加载systemd管理器配置:

sudo systemctl daemon-reload

启动并启用服务:

运行以下命令来启动和启用你的新服务:

sudo systemctl start spring-boot-service
sudo systemctl enable spring-boot-service

验证服务状态:

运行以下命令来验证你的服务是否已经成功启动:

sudo systemctl status spring-boot-service

3、Supervisor 管理 Java 应用程序

supervisorctl 命令

#启动一个服务
supervisorctl start <service_name>
#停止一个服务
supervisorctl stop <service_name>
#重启一个服务
supervisorctl restart <service_name>
查看所有服务的状态:
supervisorctl status
查看某个服务的状态:
supervisorctl status <service_name>
查看所有服务的详细信息:
supervisorctl -c /path/to/supervisord.conf status
重新加载配置:
supervisorctl reread
supervisorctl update
关闭 Supervisor:
supervisorctl shutdown

Supervisor 配置示例

[program:spring-admin]
command=/usr/local/java/jdk1.8.0_391/bin/java -jar -Xms256m -Xmx256m -Dspring.profiles.active=dev -Dserver.port=8801 /data/springBoot/sd-api/spring-admin-0.0.1-SNAPSHOT.jar
directory=/data/springBoot/sd-api/
environment=NACOS_NAMESPACE="d90cb455-****-61458cb3cf1a",NACOS_HOST="172.****.251",NACOS_PASSWORD="***"
autostart=true
startsecs=10
autorestart=true
startretries=3
user=root
priority=999
redirect_stderr=true
stdout_logfile_maxbytes=20MB
stdout_logfile_backups = 20
stopasgroup=false
killasgroup=false
stdout_logfile_maxbytes=1024MB
stdout_logfile=/data/springBoot/sd-api/logs/springBoot-admin.log

解释

[program:spring-admin]:定义了一个名为 spring-admin 的程序。

command:指定了启动命令,即 Java 应用程序的启动命令。在这里,它启动了一个 Java 可执行文件(JAR 文件),并设置了一些 JVM 参数和应用程序的参数,如内存大小、激活的 Spring profile、服务器端口等。

directory:指定了程序的工作目录,即程序运行时的当前工作目录。

environment:设置了环境变量。这里设置了三个环境变量:NACOS_NAMESPACE、NACOS_HOST 和 NACOS_PASSWORD。

autostart:指定了是否在 Supervisor 启动时自动启动该程序。

startsecs:指定了程序启动后的等待时间(秒),用于判断程序是否成功启动。

autorestart:指定了是否在程序意外退出后自动重启。

startretries:指定了自动重启的次数。

user:指定了程序运行的用户。

priority:指定了程序的优先级。

redirect_stderr:指定了是否将标准错误重定向到标准输出。

stdout_logfile_maxbytes:指定了标准输出日志文件的最大大小。

stdout_logfile_backups:指定了标准输出日志文件的备份数量。

stopasgroup 和 killasgroup:指定了是否将程序的进程和子进程组一起停止或杀死。

stdout_logfile:指定了标准输出日志文件的路径。

4、Supervisor 和自定义 Systemd 服务的对比

Supervisor:

优点:
  1. 简单易用:Supervisor 的配置相对简单,上手较容易。
  2. 跨平台支持:可以在不同的操作系统上使用。
  3. 功能丰富:提供了丰富的进程管理功能,如进程监控、自动重启等。
缺点:
  1. 对于一些高级功能,可能需要额外的配置。
  2. 不如 Systemd 那样紧密集成到操作系统中。

自定义 Systemd 服务(例如 spring-boot.service):

优点:
  1. 紧密集成到操作系统中:Systemd 是现代 Linux 系统中默认的服务管理工具,自定义服务可以更紧密地集成到系统中。
  2. 更丰富的功能:Systemd 提供了更丰富的功能和选项,如依赖管理、进程隔离、资源限制等。
  3. 灵活性和定制性:你可以完全控制你的自定义服务的行为,以满足特定的需求。
缺点:
  1. 配置复杂:相比 Supervisor,自定义 Systemd 服务的配置可能更加复杂一些。
  2. 学习曲线较陡:Systemd 提供了大量的功能和选项,需要花一些时间来学习和掌握。

总的来说,如果你的需求比较简单,只需要一个轻量级的进程管理工具来启动和监控 Java 应用程序,那么 Supervisor 是一个不错的选择。而如果你需要更丰富的功能和更紧密地集成到操作系统中,那么自定义 Systemd 服务可能更适合你的需求

  • 35
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将Java项目部署Linux系统上需要以下步骤: 1. 在Linux系统上安装Java环境,可以通过命令行安装或者下载安装包进行安装。 2. 将Java项目打包成jar包或者war包。 3. 将打包好的项目上传到Linux系统上,可以使用FTP或者SCP等工具进行上传。 4. 在Linux系统上创建一个目录,用于存放项目文件。 5. 解压上传的项目文件到指定目录。 6. 配置项目的启动脚本,可以使用shell脚本或者systemd服务进行配置。 7. 启动项目,可以使用命令行启动或者通过启动脚本进行启动。 8. 验证项目是否正常运行,可以通过浏览器访问项目的URL地址进行验证。 以上就是将Java项目部署Linux系统上的基本步骤。 ### 回答2: Java项目部署Linux是一项常见的任务,Linux作为一种稳定、高效的操作系统,在服务器领域得到了广泛应用。下面我们一步一步地来讲解在Linux环境下如何成功地部署Java项目。 1. 安装Java运行环境(JRE或JDK) 在Linux环境下,Java运行需要Java运行环境(JRE)。而如果需要编译Java程序,则需要Java开发环境(JDK)。在安装Java之前,我们需要确认一下该Linux操作系统所使用的是32位还是64位。在确认之后,我们可以从Oracle官网上下载对应版本的Java安装包,然后通过命令行运行安装程序进行安装。 2. 安装Apache Tomcat Apache Tomcat是一个Java应用服务器,能够在Linux上架设Java Web应用程序。在安装Tomcat之前,我们需要预先安装Java运行环境(JRE或JDK)。在下载Tomcat安装包之后,我们可以将Tomcat解压到Linux系统的任意目录。然后,使用命令行运行startup.sh启动Tomcat,打开浏览器输入http://localhost:8080/访问Tomcat。 3. 部署Java项目 在Tomcat成功启动后,我们可以将我们编写的Java项目打包成war文件。然后,将这个war文件放入Tomcat的webapps目录中,并且重命名为应用程序的名称。这样,Tomcat会自动解压缩war文件,并将其转换成Web应用程序。最后,通过浏览器访问http://localhost:8080/应用程序名称/即可访问Java Web应用程序。 综上所述,Java项目部署Linux需要安装Java运行环境和Apache Tomcat,然后将项目打包成war文件并部署到Tomcat的webapps目录下即可。虽然整个部署过程很简单,但是其重要性却不容忽视。只有经过正确的部署,才能够保证Java项目在Linux上高效地运行和提供服务。 ### 回答3: java 项目是一种跨平台的程序开发语言,一般开发者们在windows操作系统下进行开发,但是在开发结束后需要将项目部署到线上的linux服务器上进行运行。在这种情况下,需要了解一些java项目部署linux上的方法和注意事项。 一、安装Java环境和相关工具 在部署Java项目到Linux平台之前,必须先安装Java环境。在Linux服务器上使用yum、apt等包管理器来安装Java开发环境,本身包含了 Java Runtime Environment 和 Java 开发工具包。 在 Centos 中可以使用以下命令: yum install java-1.8.0-openjdk 在 Ubuntu 中可以使用以下命令: apt-get install openjdk-8-jdk 同时,还需要安装一些相关工具,比如 Maven,Git 等,以便于进行代码编译,版本控制等操作。 二、部署项目代码 在部署代码前,首先需要将项目的源码上传到服务器上。可以选择FTP或者rsync等方式上传项目到Linux服务器上的任意目录中,可以使用以下命令来移动文件: scp /local/folder/file.txt root@server:/remote/folder 需要注意的是,文件上传同样需要在Linux服务器上进行权限控制,使用chmod命令修改文件夹的读写权限。 三、编译代码 为保证项目在Linux上正确运行,需要先进行编译。如果使用maven构建项目,在项目的根目录进行编译即可,使用以下命令进行编译: mvn clean install 在编译完成后,会在target目录下生成一个可执行的jar包或者war包,这个包就是需要部署到服务器的代码。 四、运行java 项目 在Linux上运行Java应用程序,需要使用Java虚拟机来运行Java代码,使用以下命令来启动Java程序: java -jar app.jar 在此之前,需要确定Linux服务器上安装的Java版本是否与应用程序的要求一致,可以使用以下命令来查看系统上安装的java版本情况: java -version 五、配置项目 部署Java项目到Linux服务器上,需要根据应用程序的实际情况进行配置。在应用程序的运行过程中主要包含以下方面: 1.端口配置:需要在服务器上设置相应的端口,以便于客户端可以正常访问。 2.日志配置:Java应用程序需要提供日志系统,可以对各种错误进行记录。 3.数据库配置:需要将应用程序连接到数据库中,进行数据库操作。 总之,在部署Java项目到Linux上时,需要考虑到很多因素。需要根据实际情况配置服务器,以提供最佳的性能和稳定性。希望本文提供的信息可以为您在将Java项目部署Linux服务器上的过程中提供帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值