Linux服务器上部署项目以及问题记录

描述:在Centos6.8上部署一个Springboot项目。

第一步:打包

POM文件里:

	<packaging>jar</packaging>  //达成jar包
    <artifactId>qydm-admin</artifactId>  //jar包名称

maven插件:(这个可以上网查一个)

 <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
				<version>2.1.1.RELEASE</version>
                <configuration>
					<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
				</configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

执行Maven install打包,此处报了个如下错误:

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?


http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

解决方法:这个主要是由于JDK的版本问题,需要将JRE换成JDK版本。

1.window---->preferences---->Java---->Installed JREs
在这里插入图片描述
2.找到JDK的安装路径
在这里插入图片描述在这里插入图片描述
3.选择JDK---->apply
在这里插入图片描述4.再次进行maven clean,maven install,如果该问题仍然存在,进行下一步操作
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述打包好的jar包在项目的target目录下。
在这里插入图片描述

第二步:将jar包上传至服务器,我用的是Filezilla这个工具。

第三步: 运行jar包

我这里是写了个.sh脚本,脚本内容为:

nohup java -jar qydm-admin.jar > /usr/local/system.log 2>&1 &

补充:
'>xxx’是标准输出(stdout)符号,是‘1>xxx’的缩写
2>xxx是标准错误输出(stderr)
0< 是标准输入符号
2>&1 的意思就是:把标准错误输出(2)的信息重定向到标准输出(1)中,然后输出到/usr/local/system.out文件中
在这里插入图片描述这里分享两篇文章,写的很详细。
Aggavara同学过期罐头同学

第四步:排错

启动jar包过程中遇到几个问题,依次记录。

实时查看system.log文件的命令:

tail -f system.log  //根据文件描述符进行追踪,当文件改名或被删除,追踪停止

补充:
tail -F xxx 表示根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

4.1 …CannotjdbcConnectionException…连接拒绝…

sh执行脚本文件后,查看system.log,报以下错误:
…CannotjdbcConnectionException…连接拒绝…
在这里插入图片描述在这里插入图片描述这个错误是连接不上数据库

4.2 Can’t connect to local MySQL server through socket ‘/tmp/mysqld.sock’

然后想登陆数据库看一下,发现登陆不上数据库,报以下错误:

在这里插入图片描述
Can’t connect to local MySQL server through socket ‘/tmp/mysqld.sock’
这个问题是因为忘记启动mysql服务了,执行以下命令即可:
service mysqld start
这里记录一个小知识点:可以使用find / -name 文件名 来查找文件位置

4.3 Access defined for user ‘root@localhost’…

启动mysql服务之后,再次执行脚本启动jar包,又发现新的错误:
在这里插入图片描述Access defined for user ‘root@localhost’…
是因为项目中的application.yum文件设置的用户名密码为root,和Linux上的mysql密码不一致,果断修改Linux上的mysql密码:
不登录mysql,修改mysql密码:
mysqladmin -u root -p123456 password root
在数据库外面进行更改,更改的用户root,-p为旧密码,后面的password为新密码
补充:三种修改mysql数据库密码方式:飞机飞过天空之城

4.4 Table 'qydm.QRTZ…'不存在…

再次重启jar包,这次可以连接上数据库了,但是又出现了新的错误:
在这里插入图片描述Table 'qydm.QRTZ…'不存在…
但是数据库中是有这个表格的,查阅资料发现Linux上的mysql默认表名是区分大小写的,可以使用show Variables like '%table_names%'命令查看,0表示区分大小写,1表示不区分大小写
在这里插入图片描述修改一下vim /etc/my.cnf文件,在mysqld下面加一行:

lower_case_table_names=1

重启服务即可:service mysqld restart

可以参考 态度071的文章

至此:服务器项目部署完成,在浏览器输入192.168.xx.xx:8080即可。

最后再补充点命令记一下:
清空文件: cat /dev/null > filename
查找文件:find / -name XXX
查看某一个进程:ps -ef | grep XXX
查找某一个程序:whereis xxxx

最后贴一张图吧…


算了,有点保密,有点怂,小伙伴们凑合看嘿嘿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值