linux设置java jar包开机启动

本文详细介绍了一种在Linux环境下,通过编写并运行shell脚本来一键启动Java微服务的方法。从创建启动脚本到配置环境变量,再到使用nohup命令后台运行服务,并将输出重定向到日志文件,最后实现开机自启动的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在任意位置创建serverStart.sh

vi serverStart.sh

2、编写脚本内容

# !/bin/bash
# program
# file preview server star
export JAVA_HOME=/home/qyyx/tools/jdk1.8.0_121
export JRE=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE/lib:.
export PATH=$JAVA_HOME/bin/:$JRE/bin:$PATH
nohup java -jar /home/qyyx/server/eurekaserver/eurekaserver.jar --server.port=8090 > /home/qyyx/server/eurekaserver/eurekaserver.log  2>&1 &

3、赋予脚本执行权限

sudo chmod +x serverStart.sh

4、编辑/etc/rc.d/rc.local把上面编写的脚本加入到最后

su - qyyx -c 'bash /home/qyyx/server/serverStart.sh'
这里表示以qyyx用户来执行该脚本

5、赋予/etc/rc.d/rc.local执行权限

sudo chmod +x /etc/rc.d/rc.local

6、大功告成

### Linux系统中Java项目Jar开机启动配置方法 在Linux系统中部署Java项目并实现Jar开机启动,通常需要完成以下几个关键步骤。以下是详细的配置流程和注意事项: #### 1. 确保脚本具有执行权限 为了确保启动脚本能够正常运行,必须赋予其执行权限。可以通过以下命令为相关文件设置权限: ```bash chmod +x /etc/rc.d/rc.local chmod +x /etc/rc.d/init.d/jar_auto.sh ``` 上述命令分别赋予`rc.local`和启动脚本`jar_auto.sh`执行权限[^1]。 #### 2. 编写启动脚本 创建一个启动脚本(如`jar_auto.sh`),用于启动Java项目的Jar。脚本内容示例如下: ```bash #!/bin/bash # 设置JDK环境变量 export JAVA_HOME=/usr/local/java/jdk1.8.0_251 export PATH=$PATH:$JAVA_HOME/bin # 启动Jar nohup java -jar /home/project/xxx-dev1.3.1-8804.jar > /home/project/nohup.out 2>&1 & echo $! > /var/run/xxx-dev1.3.1-8804.pid ``` 此脚本首先设置了JDK路径,然后使用`nohup`命令启动Jar,并将输出日志保存到`nohup.out`文件中。同时,通过`echo $!`命令记录进程ID到指定文件,便于后续停止服务时使用[^4]。 #### 3. 添加开机启动项 根据Linux发行版的不同,添加开机启动项的方法略有差异。以下是两种常见方式: - **通过`/etc/rc.local`文件** 编辑`/etc/rc.local`文件,添加启动脚本的调用命令: ```bash sh /home/test/jar_auto.sh ``` 确保`/etc/rc.local`文件本身具有执行权限,并且系统支持该文件的执行[^2]。 - **通过`systemd`服务** 创建一个新的`systemd`服务文件(如`/etc/systemd/system/jar_auto.service`),内容如下: ```ini [Unit] Description=Start Java Application at boot After=network.target [Service] ExecStart=/home/test/jar_auto.sh SuccessExitStatus=143 Restart=on-failure User=root [Install] WantedBy=multi-user.target ``` 保存后,执行以下命令以启用服务: ```bash systemctl daemon-reload systemctl enable jar_auto.service systemctl start jar_auto.service ``` #### 4. 测试与验证 完成配置后,重启系统以测试是否成功实现Jar开机启动: ```bash reboot ``` 重启后,使用以下命令检查Jar是否已启动: ```bash ps -ef | grep java ``` 如果启动成功,应能看到相关的Java进程[^1]。 #### 5. 日志检查 若启动失败,可以检查日志文件(如`nohup.out`)或系统日志(如`/var/log/syslog`或`journalctl`)以排查问题。例如: ```bash cat /home/project/nohup.out ``` --- ### 注意事项 - 确保系统中已正确安装并配置JDK,且版本满足Java项目的运行需求。 - 如果Jar需要依赖网络或其他服务,请确保这些服务已在Jar启动前完成初始化。 - 对于非root用户启动Jar,需确保用户对相关目录和文件具有足够的权限。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值