阿里云服务器部署项目笔记整理(Linux操作系统)

1.    项目打包(jar)

 

l  validate:验证项目的正确性以及包含所有必要的信息

l  compile:编译源码

l  test:编译和运行测试代码

l  package:把编译好的源码打成包,如jar

l  verify :运行任何检查,验证包是否有效且达到质量标准。

l  install:把项目安装到本地仓库中去,作为本地其他项目的依赖

l  deploy:把最终的包拷贝到远程仓库上和其他开发者和项目分享

l  clean : 清空生成的文件

举例,Idea软件打包,利用maven管理工具的打包方法,如图所示,依次点击蓝色的部分。

jar包保存路径:…/项目/prometheus-admin/target/项目名.jar

 

ps:可有可无的配置文件:…/项目/prometheus.sh  

功能:运行后项目将持续保持运行状态,命令框可关闭,不用的话命令框一关,项目停止运行,项目地址访问不到。

2.    连接数据库(MySQL)

l  1.放开3306端口,用于外部工具连接数据库。

 

l  2.利用工具连接服务器数据库。

 

l  3.连接数据库

主机ip是公网IP,端口号是放开的3306端口,用户名密码是服务器上的数据库连接用户和密码。

遇到的问题

*1130 - Host XXX is not allowed to connect to this MySQL server。

1.在用Navicat配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。

 

  

2.在安装Mysql数据库的主机上登录root用户:

mysql -u root -p

3.依次执行如下命令:

  1. use mysql;
  2.  
  3. select host from user where user='root';

可以看到当前主机配置信息为localhost.

 

4.将Host设置为通配符%

 

Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。 

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置;

 

执行代码:

update user set host = '%' where user ='root';

 

Host设置了“%”后便可以允许远程访问。

 

5.Host修改完成后记得执行flush privileges使配置立即生效

flush privileges;

 

 

6.使用navicat 成功连接至mysql

 

spring+quartz报错:Table 'XXXX.QRTZ_TRIGGERS' doesn't exist

好!这个解决方法最简单!

将提示的该数据库的问题表换成大写(〜 ̄▽ ̄)〜

 

3.    将jar包上传至服务器

l  1.先在服务器的数据库中建库,然后把.sql的数据库脚本导入。(我是用Navicat,在t_table->转储sql文件->数据和结构,然后将SQL语句在数据库运行)。

l  2. 然后修改项目数据源

driver-class-name: com.mysql.jdbc.Driver

   url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8&useSSL=false

   username: root

   password: ********

l  3.检查端口是否被占用,如果没有被占用,不需要改;

#在application.yml 中

Server:

         Port:****

l  4. 然后去该云服务商控制台,放行端口 

l  5.利用第一点的打包将项目打包,将jar包上传至服务器。

 

 

 

 

利用工具(SSH Secure File Transfer Client)或者堡塔可视化管理系统,在根目录的mnt文件夹下建立该项目数据文件夹(/mut/data/项目名),在该文件夹下,将jar包和配置文件以同一级放在该目录下。

4.    运行jar包

进入我们上传项目的目录

[root dfsadfas]#  java -jar [jar包名称].jar

  • 项目就跑起来啦,但是操作界面不能关
  • 访问 http://服务器IP地址:端口号

 

²  若是想关闭窗口,程序依然运行着,运行.sh配置文件

运行命令:./prometheus.sh start

运行后需等待一段时间才能访问,时间长短参考程序启动时间

 

²  关闭或更新jar包时,只需查看运行的进程pid,将jar包进程杀掉,具体操作如下:

netstat -nptl   //获取运行的id

 

 

kill -9  pid 杀死端口

 

 

遇到的问题

Maven运行异常:Exception in thread "main" java.lang.UnsupportedClassVersionError

背景:

Linux平台部署maven项目,提示如下异常:

Exception in thread “main”java.lang.UnsupportedClassVersionError: com/autonavi/App : Unsupported major.minor version 51.0

异常:

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/autonavi/App : Unsupported major.minor version 51.0

 

 

排查:

检查Linux服务器的java版本:

~]# java -version

java version "1.6.0_22"

OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.41.1.10.4.1.alios6-x86_64)

OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

检查Linux服务器的javac版本:

~]# javac -version

javac 1.6.0_22

服务器java版本是一致的,没有问题,然后检查maven项目所要求的java版本,进入POM文件中查看:

<properties>

        <java.version>1.7</java.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <start-class>com.autonavi.App</start-class>

</properties>

原来maven项目要求jdk是1.7的,而服务器是1.6的,两者不匹配才导致上述异常。

解决:

百度说是将maven项目POM文件所要求的java版本降低版本改成1.6,但是考虑到项目中可能会有些方法或类在低版本中不能使用,所以升级服务器的Java版本。

-bash: ./prometheus.sh: /bin/bash^M: bad interpreter: No such file or directory

背景:

Linux执行.sh文件,提示No such file or directory的问题的解决方法

用vim prometheus.sh进入prometheus.sh这个文件, 然后在底部模式下, 执行 :set ff 查看一下, 结果发现fileformat=dos, 看看, 果然是文件格式问题, 那怎么解决呢?

解决:

方法一:vim prometheus.sh进入prometheus.sh后, 在底部模式下, 执行:set fileformat=unix后执行:x或者:wq保存修改。 然后就可以执行./ prometheus.sh运行脚本了。(我亲自试过, 是ok的

方法二:直接执行sed -i "s/\r//" prometheus.sh来转化, 然后就可以执行./ prometheus.sh运行脚本了。

方法三:直接执行dos2unix prometheus.sh来转化, 然后就可以执行./ prometheus.sh运行脚本了。(我的linux上执行dos2unix ./a.sh失败, 但是不要放弃啊, 加个busybox就可以了), 如下:

  1. dos2unix prometheus.sh   
  2. bash: dos2unix: command not found  
  3. [taoge@localhost learn_shell]$ busybox dos2unix prometheus.sh   
  4. [taoge@localhost learn_shell]$  

 

 

posted @ 2021-04-22 13:28  独自一人的江湖  阅读(269)  评论(0)    收藏  举报