这篇文章涉及到的内容比杂,我会设置标题方便大家按需寻找自己需要解决的问题。

另外在阅读有关项目部署到虚拟机上的内容之前请确保你的在Linux上安装好了JDK,MySQL服务端,Tomcat。

下面这张图是我安装的版本:

在IDEA上将项目打包成war包

我首先是在IDEA上写的项目,运行成功后将项目打包成war包放到Linux上的服务器,下面我来展示我的项目在IDEA上都包含哪些文件:

Build  ->  Build Artifacts…..

点击之后会出现一个窗口,这里选择你想要打包成war包的项目,选择Build(构建),如果你的项目中已经有了war包,但是代码你做了修改,这里可以选择Rebuild(重建)这样就可以覆盖掉你之前的war包了。

关于打包之后的war包我们可以在Project Structure中找到,如下图:

通过以上步骤我们就打包好了war包,并找到了它所在的位置。

将项目部署到虚拟机上

1.首先搭建你的服务器(这里我搭建的有四台,我只用tomcat2来运行我的项目):

2.将打包好的war包拖到服务器(/usr/local/tomcat/tomcat2/webapps)目录下(可以将war包的文件名修改成ROOT):

3.启动服务器(在bin目录下启动):

./startup.sh

4.开启MySQL服务,连接SQLyog

 service mysql start

出现Starting MySQL SUCCESS!表示启动成功。

去SQLyog进行连接:

如果连接时出现下面这样的报错,可能是防火墙没关:

#启动防火墙
systemctlstartfirewalld.service
#查询防火墙状态
systemctlstatusfirewalld.service
#关闭防火墙
systemctlstopfirewalld.service
#设置开机启用防火墙
systemctlenablefirewalld.service
#设置开机禁用防火墙
systemctldisablefirewalld.service

测试MySQL是否开启

sudo systemctl status mysql

另外主机地址的获取方式:

ifconfig

5.最后在浏览器输入地址即可访问成功:

报错解决

我遇到的报错都是连接数据库时出现的错误,报500。一开始是提示数据库连接失败说是我密码错误,后来发现项目中我创建的jdbc.properties文件上的密码和主机地址没有改(下图):

最后一次报错是:java.lang.RuntimeException: java.sql.SQLException: Access denied for user 'root'@'node1' (using password: YES)

访问被拒绝了,后来发现是没有权限,于是我便执行了下面的代码:

-- 授予权限给 'root' 用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'node1' IDENTIFIED BY 'root';
-- 刷新
FLUSH PRIVILEGES;

解决以上问题之后项目成功运行!!!(兴奋)

以上就是全部内容,希望能给读者您带来帮助!如果有什么说错的地方或者需要补充的内容还望在评论区指正,谢谢!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐