centos部署springboot项目

简介: 因课题组需要整合sprinboot项目与c++项目,因此在centos服务器上对项目进行整合测试。

   本人就读软件工程专业,现研二,通过阿里云官网了解到“飞天加速计划·高校学生在家实践”活动。

   因课题组需要整合sprinboot项目与c++项目,因此在centos服务器上对项目进行整合测试。针对几个让我记忆深刻的问题进行复盘。

   1. 对项目必要的环境进行安装,如java,tomcat,mysql。登陆阿里云控制台,在云服务器esc中有我的教程,可以参考这些教程对环境进行安装。

截屏2021-12-01 16.15.47.png

   2. 因同课题组的同学测试时是在版本交新的ubuntu系统上进行测试的,因此在整合c++项目过程中,需要如下问题:

  • cmake 未安装或者安装版本过低(项目要求3.20以上的版本)

          解决方案:

wget-c https://github.com/Kitware/CMake/releases/download/v3.17.0-rc3/cmake-3.17.0-rc3.tar.gz
tar zxvf cmake-3.17.0-rc3.tar.gz
cd cmake-3.17.0-rc3./bootstrap
gmake #时间会比较长gmake install
cmake --version#版本查看
  •   编译时内存不足的问题 c++: internal compiler error: Killed (program cc1plus)

       解决方案:

#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=2048MBsudo dd if=/dev/zero of=/swapfile bs=64M count=32#把刚才空间格式化成swap格式sudo mkswap /swapfile
chmod0600 /swapfile  
#使用刚才创建的swap空间sudo swapon /swapfile
#查看交换空间的使用情况free -m#释放空间命令swapoff -a

      在编译过程中也遇到了需要严格按照c标准的问题。如sprinf_s(), _strdup()等函数,若有编译时会出错,可以考虑使用c函数或者指定 -std=gun11。

  • 编译结束之后,测试接口时发现/usr/lib64/libm.so.6: version `GLIBC_2.29' not found问题

   解决方案:安装glibc_2.29

wget http://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz 
tar -zxvf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build
cd build
# 指定路径,不要与解压的路径相同,避免出现/usr/bin/install: `include/limits.h' and `/opt/glibc-2.14/include/limits.h' are the same file 这个错误../configure --prefix=/opt/glibc229
makemake install
  1. 整个过程中,也复习了一部分linux命令,如下:
# find 命令用来在指定目录下查找文件。# 列出当前目录下后缀为c的所有文件find . -name"*.c"# 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:find / -type f -size0-execls-l {} \;
#strings 命令是二进制工具集 GNU Binutils 的一员,用于打印文件中可打印字符串,strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。strings命令对识别随机对象文件很有用。# 查看glibc支持的版本strings /lib64/libc.so.6 | grep GLIBC
ssh root@IP
scp localSrc root@IP:remoteDest
rm-rf dir
cp-r src dest

     以上就是在部署过程中遇到的一些问题。

     此次部署以及过程中遇到的一些问题,个人感触颇深的是对操作系统要有一个深刻的理解,尤其是对linux的内核的一些原理。(看来是时候在重新过一遍操作系统了-_-!)。对linux中的命令,用进废退:(,该项目维护中,需要对linux命令多加实践操作,从而熟悉命令。

最重要的事:日志与备份极其重要。日志与备份极其重要。日志与备份极其重要。重要的事情说三遍((。ì _ í。)

相关文章
|
9月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
607 3
|
9月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
941 2
|
9月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
889 13
|
9月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
919 2
|
9月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
502 2
|
9月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
357 0
|
9月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
732 0
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
248 0
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 项目管理
springboot项目集成dolphinscheduler调度器 项目管理
283 0
|
9月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
828 0

热门文章

最新文章