nohup启动java 报错

作者分享了如何修复启动脚本中遇到的`unrecognized-server`错误,通过指定全路径的java命令并使用nohup避免echo问题。重点在于正确配置java路径和修改脚本编写方式。

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

今天写了个startup.sh脚本,用来启动jar包,但是居然报错
一开始的脚本内容:

java -Xms512m -Xmx512m  -jar xxx-api.jar > catalina.out &

在这里插入图片描述
还有报unrecognized -server等错误。

后来发现是不识别java命令,把java安装路径写全就正常了,我的java路径为/usr/local/jdk/bin/java,并改用nohup命令。

调整后的脚本内容:

nohup /usr/local/jdk/bin/java -Xms512m -Xmx512m  -jar xxx-api.jar >catalina.out 2>&1 &

另外:

startup.sh脚本内容,不要用 echo "nohup /usr/local/jdk/bin/java ..." > startup.sh这种方法写入内容,应该用vi命令打开后文档后手动输入内容。echo这个骚操作容易出问题。

### Elasticsearch 启动报错解决方案 在使用 Elasticsearch 时,启动过程中可能会遇到各种错误。以下是针对常见启动报错的解决方案。 #### 1. 修改配置文件 当 Elasticsearch 配置不正确时,可能导致启动失败。需要检查并修改 `elasticsearch.yml` 文件中的相关配置[^1]。例如: ```yaml # 确保以下配置项正确设置 cluster.name: my-application node.name: node-1 network.host: 0.0.0.0 http.port: 9200 ``` 如果系统环境不支持某些默认配置(如 SecComp),可以在 `elasticsearch.yml` 中添加或修改以下内容[^3]: ```yaml bootstrap.system_call_filter: false ``` #### 2. 检查 Java 环境 Elasticsearch 依赖于 Java 运行时环境(JRE)。如果系统中未正确安装 Java 或者环境变量未配置,可能会导致启动失败[^4]。确保以下条件满足: - 安装 JDK 8 或更高版本。 - 设置 `JAVA_HOME` 环境变量,并将其路径添加到系统的 `PATH` 中。 验证 Java 是否正确安装: ```bash java -version ``` 如果未安装或环境变量未设置,可以执行以下命令: ```bash export JAVA_HOME=/path/to/java export PATH=$JAVA_HOME/bin:$PATH ``` #### 3. 使用 nohup 命令保持后台运行 在开发环境中,如果希望关闭终端后 Elasticsearch 仍然运行,可以使用 `nohup` 命令启动服务[^2]。停止当前运行的服务后,执行以下命令: ```bash nohup ./bin/elasticsearch & ``` #### 4. 调整线程数限制 如果系统中用户的最大线程数限制过低,可能会导致启动失败。可以通过以下方法调整线程数限制[^3]: - 编辑 `/etc/security/limits.conf` 文件,添加以下内容: ```plaintext * soft nproc 4096 * hard nproc 4096 ``` - 重启系统以使更改生效。 #### 5. 检查内存锁定设置 Elasticsearch 默认会尝试锁定内存以避免交换,这可能需要额外的权限。如果遇到相关错误,可以将以下配置项设置为 `false`: ```yaml bootstrap.memory_lock: false ``` #### 6. 其他常见问题 - **磁盘空间不足**:确保 Elasticsearch 的数据目录有足够的可用空间。 - **端口被占用**:检查是否有其他进程占用了默认端口(9200 和 9300)。 - **文件描述符限制**:增加系统的文件描述符限制,编辑 `/etc/security/limits.conf` 文件,添加以下内容: ```plaintext * soft nofile 65536 * hard nofile 131072 ``` ### 示例代码 以下是一个完整的启动脚本示例,结合了上述解决方案: ```bash #!/bin/bash # 设置 Java 环境变量 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH # 启动 Elasticsearch 并保持后台运行 nohup /usr/local/elasticsearch-7.9.2/bin/elasticsearch > elasticsearch.log 2>&1 & ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值