阿里云中本次项目运行环境安装与配置遇到的坑点与总结

由于博主最近刚接手一个其他团队开发过程中的中间版本的项目,并且整个项目环境需要博主重新在阿里云上搭建一套,中间也遇到了一些问题,上网求助了一些资料,在这里,我对此次搭建环境做一个总结。

1、代码编译方面遇到的问题

(1)由于是刚接手另一个团队交接给我的全新项目工程,所以jar包的依赖管理的特别乱,有一些jar包根本不需要,但是在pom文件中也添加了该jar包的依赖,并且添加的依赖还无法下载下来。

解决的方法:遇到jar包缺失报错的,先去代码中看看该jar包是否用到,如果没有用到,直接在pom文件中去掉该依赖。如果该jar包可以正常使用,但是无法下载下来,要么更改maven远程仓库地址,要么把jar包自己下载下来,然后添加到本地仓库中。

(2)项目采用多个模块,多个工程的结构,有些jar包在其中几个工程使用到,并且也下载下来了,但是在某一个工程中使用到,但是没有在pom文件中添加依赖,导致在java文件中import,报错。

解决方法:在缺少依赖的工程中的pom文件中,添加该jar包依赖

2、linux环境搭建遇到的问题

(1)由于博主之前大部分是单纯写后台java代码的,对于linux命令,也只限于简单的了解使用,并没有很深入的在这方面研究过。

这里简单写几个我认为安装环境经常使用的几个命令:

netstat  -anp  |grep  3306      在启动某个程序的时候,经常报这个端口已经被占用,这个命令就是显示程序端口的占用情况,其中3306是我这个程序对外开放的访问端口号,查到该端口的进程号之后,直接kill掉,再重启

ps -ef | grep quartz  启动某个程序的时候,有时候会报该程序已经被启动,这个时候,我们通过程序的名称,直接用该命令查到这个程序的进程号,然后kill掉进程

(2)由于这个项目使用的是spring boot框架,项目的启动方式是先把几个模块的工程打成jar包,然后在linux上直接用jar包启动,刚开始启动jar包直接使用:java -jar,我一旦退出后台(Ctrl+C),或者我的xshell中断与服务器的连接,jar包也停止服务运行。

解决方法:采用nohup和&搭配启动jar包服务

例如,之前我启动的命令是:java -jar /usr/local/apps/common-business.jar >/dev/null

现在采用:nohup java -jar /usr/local/apps/common-business.jar >/dev/null  &

具体的nohup和&的区别,可以借鉴这两篇博主的博客:

https://blog.csdn.net/stpeace/article/details/76389073

https://blog.csdn.net/eager7/article/details/8290937

(3)由于很多的服务程序是第一次安装,比如mongodb,kafka,svn等等,很多都是先找网上的安装教程来的,但是安装完开始配置一些参数的时候,有时候我就按照自己的意愿做了一些修改,导致最后虽然安装完成,但是使用的时候,会出现各种问题。

解决方法:在自己还不熟悉的时候,最好按照人家的步骤来,不要轻易变更一些参数配置,当然等你熟了,想怎么配置就这么配置,但是现在不是第一次不熟嘛。如果自己已经变更了,出现问题了,那就把配置改回来,或者重新安装吧。

3、程序在进行mysql的连接时,由于版本的问题,遇到过不少问题

(1)由于我安装的版本是5.7版本,所以group by 的新特性会导致一些查询语句出现错误

解决方法:在my.cnf的文件中,添加这么一句

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

(2)由于多次连接错误,导致阻塞

MySql Host is blocked because of many connection errors

解决方案:在服务器上执行:flush hosts命令

mysqladmin  -uroot -p  -h(ip地址) flush-hosts

(3)mysql连接总是超时

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

mysql连接超时的原因有很多,查看了网上的很多答案,基本都是各种设置连接时长数值增大,我照着修改了,但是还是报相同的错误,而且我觉得一味的延长连接时间,没从根本原因上解决问题,根本问题是连接为什么会超时?是由于怎么原因超时的?我们需要找到这个原因

jdbcUrl = jdbc:mysql://47.99.130.20:3306/telephone_robot?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true

我程序中的数据库地址是这个,后来我发现这个里面有:useSSL=true这个属性,需要SSL验证,把这个属性去掉,就可以连接了,把连接地址变成下面这样

jdbcUrl = jdbc:mysql://47.99.130.20:3306/telephone_robot?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull

接手一个新工程,关注几点:1、如何部署,2、日志在哪查看,3、如何调试,4、最后才是具体的模块或者业务代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值