springboot部署到服务器上的方法以及nohup执行报错的问题

本文详细介绍如何将SpringBoot应用打包成Jar包并部署到服务器上实现长时间运行,包括使用nohup命令、解决找不到java命令的问题及在腾讯云上的实践步骤。

springboot部署到服务器上,打包成jar包

java -jar XXX.jar

若要长时间运行

nohup java -jar xxx.jar &

后面的 & 记得加

如果遇到

nohup: failed to run command `java': No such file or directory

先执行

source /etc/profile; 

再执行部署命令
我用的是是腾讯云,我也不知道为什么这样就成了

### Spring Boot 在阿里云服务器上运行时的具体报错原因及日志分析 在将 Spring Boot 项目部署到阿里云服务器的过程中,可能会遇到多种问题报错。以下是一些常见的报错原因及其对应的解决方案: #### 1. **无法找到 `@SpringBootConfiguration`** 如果在打包过程中点击 `package` 失败,并且出现类似以下的错误信息: ``` Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test ``` 这通常是因为测试类中缺少正确的配置注解。确保测试类中包含以下注解之一[^1]: ```java @SpringBootTest @ContextConfiguration(classes = {YourApplication.class}) ``` #### 2. **后台运行与日志输出** 部署完成后,如果需要将项目改为后台运行并记录日志,可以使用以下命令[^2]: ```bash nohup java -jar 项目jar包名 > server.log 2>&1 & ``` 该命令会将标准输出和错误输出重定向到 `server.log` 文件中,便于后续排查问题。 #### 3. **端口绑定问题** 如果发现访问网站时需要手动输入端口号(例如 `www.域名.com:8080`),这通常是因为应用默认监听了非标准 HTTP 端口(如 8080)。可以通过修改 `application.properties` 或 `application.yml` 文件中的端口设置来解决: ```properties server.port=80 ``` 注意:修改为 80 端口可能需要管理员权限,或者通过反向代理(如 Nginx)进行端口转发[^3]。 #### 4. **数据库连接问题** 如果项目需要连接阿里云的 MySQL 数据库,可能会遇到连接失败的问题。以下是常见的原因及解决方法[^4]: - **依赖缺失**:确保项目中已添加 MySQL 依赖: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> ``` - **网络限制**:检查阿里云安全组规则,确保允许从服务器 IP 访问数据库。 - **配置错误**:确认 `application.properties` 中的数据库连接配置正确: ```properties spring.datasource.url=jdbc:mysql://数据库地址:3306/数据库名称?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=用户名 spring.datasource.password=密码 ``` #### 5. **日志分析** 在排查问题时,可以通过查看日志文件(如 `server.log`)定位具体原因。以下是一些常见的日志关键字及其含义: - **`BindException`**:端口已被占用,需更改应用监听端口或释放冲突端口。 - **`AccessDeniedException`**:权限不足,可能是文件读写权限或数据库访问权限问题。 - **`SocketTimeoutException`**:网络超时,可能是数据库连接超时或网络延迟过高。 #### 6. **备案问题** 如果希望通过 `www.域名.com` 访问网站而无需带端口号,需要完成域名备案。根据阿里云的规定,购买服务器后需等待一定时间才能具备备案资格[^3]。 --- ### 示例代码 以下是一个简单的 Spring Boot 项目启动类示例,确保其正确性有助于避免部分常见问题: ```java @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值